【发布时间】:2012-06-12 04:44:26
【问题描述】:
如果我有哈希
my %foo = ( foo => 1, bar => 1 );
我想检查 %foo 的任何键是否在比较数组中(显然键 %foo 只是一个数组)。我一直在想一些不存在的奇怪语法。
my @cmp0 = qw( foo baz );
my @cmp1 = qw( baz blargh );
if keys %foo in @cmp0 # returns true because key foo is in the array
if keys %foo in @cmp1 # returns false because no key in foo is an element of cmp1
最简单的方法是什么?
【问题讨论】:
-
keys %foo是一个 list 并且非常不是 一个数组。数组是一个 Perl 变量,它可以代替列表,但它也可以做很多数组不能做的事情。见What is the difference between a list and an array?
标签: perl