在perl中使用数组元素进行模式匹配

时间:2012-07-13 17:29:42

标签: regex perl

Perl和regex的新手不说,我试图在perl正则表达式中使用数组中的元素。这是片段

my $temp  = $line =~ s/somestring[^\n]*$_// for @myarray;

如果我硬编码字符串而不是$ _,它可以正常工作。 $ _也可以单独打印字符串。那么我做错了什么?即使使用for循环的扩展版本也不会产生匹配。

P.S只是为了澄清数组只有一个元素,我知道它与该行匹配。

1 个答案:

答案 0 :(得分:4)

它应该可以添加括号,虽然我希望数组的内容没有特殊字符,因为你需要使用quotemeta函数来逃避它们。

my $temp;
($temp  = $line) =~ s/somestring[^\n]*$_// for @myarray;
相关问题