perl 代码中 变量 匹配变量的正则表达式的写法

2025-05-01 11:37:44
推荐回答(1个)
回答1:

说一下你的错误:@pattern是数组变量,数组变量访问的形式,要么是@pattern访问全部变量,要么利用$pattern[$i]的形式访问。你直接写$pattern是访问不到任何东西的。所以需要对@pattern再加一个循环进行正则匹配。下面是我写的perl代码,直接读取数组型字符了,为方面没有读入文件,和你说的问题应该类似。结果图也附上了,不知道和你说的是否符合。

#!/usr/bin/perl
 
@configfile = ("I","am","a","patten1","Not","Apatten");
@patten = ("patten1","patten2","patten3");

$i=0;
$j=0;
foreach my $line (@configfile)
{
      foreach my $pad1 (@patten)
{
  if ($line =~ /$pad1/){
          print "\$configfile[$i]与\$patten[$j]匹配\n";
   }
        $j++;
         }
$j=0;
$i ++;
}