假设我有一个字符串数组,例如@matches = ("cat", "zebra", "apple")
,我想打开一个文件并尝试以最简单的方式匹配这些字符串。
while (<MYFILE>)
{
chomp;
if (..some match condition...)
{
..stuff..
}
}
我可以foreach
在每一行上使用 a 来尝试匹配,但我知道 Perl 中必须有一种简洁的方式来表示“如果字符串 X 匹配数组 Y 中的任何模式”。我似乎无法在任何地方找到这个。
编辑:
为了澄清,这是效率极低的代码:
while (<MYFILE>)
{
chomp;
foreach $m (@matches)
{
if (~ /$m/)
{
..stuff..
}
}
}
我知道有一些速记方法可以做到这一点。