我想要使用File::Slurp模块读取文件,然后在该文件中搜索特定行。我知道Perl有正则表达式,但我正在搜索的字符串是用户生成的,所以不要担心逃避一切。我可以编写一个foreach循环来执行此操作但是想知道Perl中是否有一个函数可以为我执行此操作?我在网上看到的关于在Perl中查找文本的所有内容都使用正则表达式。
答案 0 :(得分:17)
您可以使用正则表达式。你不必担心逃避一切,Perl有quotemeta函数(或者“\ Q \ E”)。
答案 1 :(得分:2)
喜欢这个?
use List::Util qw<first>;
my $line
= first { index( $_, $something_users_are_looking_for ) > -1 }
<$file>
;
如果你想要他们所有人。
my @lines
= grep { index( $_, $something_users_are_looking_for ) > -1 }
<$file>
;
答案 2 :(得分:0)
你能使用q()来使用字符串文字吗?
print(q(This string can contain regex: (\n\t*\n)(\n)));