假设我有一个包含我想要匹配的行的文件:
foo
quux
bar
Run Code Online (Sandbox Code Playgroud)
在我的代码中,我有另一个数组:
foo
baz
quux
Run Code Online (Sandbox Code Playgroud)
假设我们遍历文件,调用每个元素$word,以及我们正在检查的内部列表,@arr.
if( grep {$_ =~ m/^$word$/i} @arr)
Run Code Online (Sandbox Code Playgroud)
这样可以正常工作,但在某种可能的情况下,我们fo.在文件中有一个测试用例,它.在正则表达式中作为通配符操作符运行,fo.然后匹配foo,这是不可接受的.
这当然是因为Perl正在将变量插入到正则表达式中.
问题:
如何强制Perl按字面意思使用变量?