如何验证Perl中的数组(列表)中是否存在值?

前端之家收集整理的这篇文章主要介绍了如何验证Perl中的数组(列表)中是否存在值?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个可能的值列表:
@a = qw(foo bar baz);

如何检查@a中存在或不存在值$ val的简明方法

一个明显的实现是循环列表,但我相信TMTOWTDI

感谢所有回答的人!我想强调的三个答案是:

>接受的答案 – 最“内置”和向后兼容的方式。
> RET’s answer是最干净的,但仅适用于Perl 5.10及更高版本。
> draegtun’s answer(可能)有点快,但需要使用一个额外的模块。我不喜欢添加依赖关系,如果我可以避免它们,在这种情况下不需要性能差异,但如果你有一个1,000,000元素的列表,你可能想给这个答案一个尝试。

解决方法

Perl的grep()函数的设计是为了做到这一点。
@matches = grep( /^MyItem$/,@someArray );

或者您可以将任何表达式插入匹配器

@matches = grep( $_ == $val,@a );

猜你在找的Perl相关文章