如何查找数组的值是否是Perl中哈希的键?

Jor*_*dan 7 arrays perl hash

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

例如,

 @array = qw (a b c);   
 %hash = ( a => 1, b=> 2 );    
Run Code Online (Sandbox Code Playgroud)

在这种情况下,它应该只输出'a'和'b'.

dgw*_*dgw 17

这应该这样做:

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

my @result = grep { exists $hash{$_} } @array ;
Run Code Online (Sandbox Code Playgroud)