小编Spo*_*man的帖子

检查哈希值是否存在时"存在"功能

我试图用"#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)

请指教.

regex perl

0
推荐指数
1
解决办法
128
查看次数

如何在另一个Perl文件中重复使用Perl文件

我正在做以下步骤:

  • 读取目录中的所有文本文件并将其存储在名为@files的数组中
  • 在每个文本文件上运行foreach循环.使用拆分操作提取文件名(剥离.txt)并创建该特定文件名的文件夹.将该文件重命名为Test.txt(以便作为另一个perl可执行文件的输入)通过添加行需要"test.pl"为每个文件执行test.pl ;

它只适用于一个文件,但不再适用.这是我的代码:

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)

任何帮助都会非常感激.

perl

0
推荐指数
1
解决办法
189
查看次数

Perl:将许多数组元素替换为文件中的另一个相应数组元素

我试图用文件中的另一个相应的数组元素替换许多数组元素,但它需要花费很长时间才能执行.有更简单的方法吗?以下是我的代码:

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)

请指教.

regex perl

0
推荐指数
1
解决办法
3809
查看次数

标签 统计

perl ×3

regex ×2