7

我有一个数组说@array。我想知道数组的哪些值构成哈希的键,比如 %hash。除了使用 for 循环之外,还有其他简单的方法吗?

例如,

 @array = qw (a b c);   
 %hash = ( a => 1, b=> 2 );    

在这种情况下,它应该只输出“a”和“b”。

4

1 回答 1

17

这应该这样做:

my @array = qw(a b c) ;
my %hash = ( a => 1 , b => 2 ) ;

my @result = grep { exists $hash{$_} } @array ;
于 2012-06-08T18:56:45.937 回答