Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
Perl 和正则表达式的新手不用说,我正在尝试在 perl 正则表达式中使用数组中的元素。这是片段
my $temp = $line =~ s/somestring[^\n]*$_// for @myarray;
如果我硬编码字符串而不是 $_ 它工作正常。$_ 也可以单独打印字符串。那么我做错了什么?即使使用 for 循环的扩展版本也不会产生匹配。
PS 只是为了澄清数组只有一个元素,我知道它与该行匹配。
它应该可以添加括号,尽管我希望数组的内容没有特殊字符,因为您需要使用quotemeta函数来转义它们。
quotemeta
my $temp; ($temp = $line) =~ s/somestring[^\n]*$_// for @myarray;