我有一个数组...让我们说100个元素.我想检查是否有任何元素与特定字符串匹配.例如:
@array =('red','white','blue');
我还想知道数组是否包含字符串'white'作为其中一个元素. 我知道如何使用foreach循环并比较每个元素,但是......是否有比循环整个数组更简单(更快)的方法?
-谢谢
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)
这些短路 - 如果发现匹配,则无需遍历整个阵列.
| 归档时间: |
|
| 查看次数: |
306 次 |
| 最近记录: |