相关疑难解决方法(0)

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

我有一个可能的值列表:

@a = qw(foo bar baz);
Run Code Online (Sandbox Code Playgroud)

如何以简明的方式检查值$val是否存在@a

一个明显的实现是遍历列表,但我确信TMTOWTDI.


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

  1. 接受的答案 - 最"内置"和向后兼容的方式.

  2. RET的答案是最干净的,但只适用于Perl 5.10及更高版本.

  3. draegtun的答案(可能)有点快,但需要使用额外的模块.我不喜欢添加依赖项,如果我可以避免它们,在这种情况下不需要性能差异,但如果你有一个1,000,000元素的列表,你可能想尝试这个答案.

arrays perl list find

20
推荐指数
6
解决办法
4万
查看次数

Perl,将标量与数组进行比较(使用正则表达式?)

我会简短,所以我不浪费你的时间;

简单的问题,我有一堆说,数百只狗

my @dogs = qw(Shepard Lab Dalmation Husky Chow Pitbull ...)
Run Code Online (Sandbox Code Playgroud)

我想把它与一只狗比较

my $doggy = "Shepard";
Run Code Online (Sandbox Code Playgroud)

我知道这很愚蠢,但我怎么办呢?

# Regex match against array?
# (This doesnt even work but its how i would think of doing it)
if ($doggy =~ /@dogs/) {
print $doggy;
}
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的任何答案,我感谢你们帮助我解决可能是一个非常愚蠢的问题.谢谢

regex arrays perl comparison match

3
推荐指数
1
解决办法
4519
查看次数

标签 统计

arrays ×2

perl ×2

comparison ×1

find ×1

list ×1

match ×1

regex ×1