我有一个数组:
@Names = (A,B,C,D,E)
我想设置一个next if
语句,以便在字符串不包含这些元素之一时跳过。最好的办法是什么?
我想这样做可能会奏效:
@someArray = (Foo, Bar, Yim, Print, Hello);
foreach my $string (@someArray) {
next if ( $_ !~ $string ) @Names;
print $string;
}
所以只有“酒吧”和“你好”应该打印出来
我正在寻找最好的方法和最简单的方法来做到这一点。但是,我知道它们并不总是相同的,所以任何输入都是伟大的!
2条答案
按热度按时间r7xajy2e1#
另一种方法可能是生成一个正则表达式来完成这项工作(如果您实际上需要一个不区分大小写的匹配,以便
Hello
匹配,您还应该使用i
修饰符:/$NamesRE/i
):8dtrkrch2#
first将在找到匹配项后立即停止比较。对于
Bar
,一旦A
匹配,它不会检查B
-E
。