我试图用"#EXECUTE func-name.后跟哈希值 " 替换每次出现的"EXECUTE func-name",如果func-name存在的话.我的下面的正则表达式似乎不同意我的看法.
s/EXECUTE ([\w-]+)\.?/"# EXECUTE $1.\n" . $hash{$1}/eg if (exists($hash{$1}));
Run Code Online (Sandbox Code Playgroud)
请指教.
我正在做以下步骤:
它只适用于一个文件,但不再适用.这是我的代码:
opendir DIR, ".";
my @files = grep {/\.txt/} readdir DIR;
foreach my $files (@files) {
@fn = split '\.', $files;
mkdir "$fn[0]"
or die "Unable to create $fn[0] directory <$!>\n";
rename "$files", "Test.txt";
require "test3.pl";
rename "Test.txt", "$files";
system "move $files $fn[0]";
}
Run Code Online (Sandbox Code Playgroud)
任何帮助都会非常感激.
我试图用文件中的另一个相应的数组元素替换许多数组元素,但它需要花费很长时间才能执行.有更简单的方法吗?以下是我的代码:
open( my $in, '<', "Test.txt") or die "cannot open Test.txt $!";
open( my $out, '>', "TestFinal.txt") or die "cannot create TestFinal $!";
while( <$in>)
{
for(my $i=2 ; $i<=$LastRowGlossary; $i++)
{
s/$variable[$i]/$vardescription[$i]/g;
}
for(my $j=2 ; $j<=$LastRowTable; $j++)
{
s/$COVERAGE_TYPE_CODE[$j]/$TCOVERAGE[$j]/g;
s/$CVG_TEST_CRIT_CD[$j]/$TCVG_TEST_CRIT_TYP[$j]/g;
}
print {$out} $_;
}
close $in;
close $out;
Run Code Online (Sandbox Code Playgroud)
请指教.