在perl中搜索未排序的数组?

Nat*_*oob 2 arrays perl

我有一个数组...让我们说100个元素.我想检查是否有任何元素与特定字符串匹配.例如:

@array =('red','white','blue');

我还想知道数组是否包含字符串'white'作为其中一个元素. 我知道如何使用foreach循环并比较每个元素,但是......是否有比循环整个数组更简单(更快)的方法?

-谢谢

mar*_*ton 6

Perl 5.10及更高版本,智能匹配:

say 'found' if 'white' ~~ @array;
Run Code Online (Sandbox Code Playgroud)

对于5.10之前的List :: MoreUtils:

use List::MoreUtils qw{any}; 
print "found" if any { 'white' eq $_ } @array;
Run Code Online (Sandbox Code Playgroud)

这些短路 - 如果发现匹配,则无需遍历整个阵列.