我正在尝试在这样的多行输入字符串中查找特定关键字,
this is input line 1
this is the keyword line
this is another input line
this is the last input line
多行输入存储在一个名为“$inputData”的变量中。现在,我有 2 种方法来查找单词“关键字”,
方法 1:
使用 split 使用“\n”分隔符将行放入数组中,并使用 foreach 循环迭代和处理每一行,如下所示,
my @opLines = split("\n", $inputData);
# process each line individually
foreach my $opLine ( @opLines )
{
# look for presence of "keyword" in the line
if(index($opLine, "keyword") > -1)
{
# further processing
}
}
方法2:
使用正则表达式,如下,
if($inputData =~ /keyword/m)
{
# further processing
}
我想知道这两种方法如何相互比较,以及就实际代码性能和执行时间而言,更好的方法是什么。此外,是否有更好、更有效的方法来完成这项任务?