Arrays 在Perl中,如何确定数组的值是否是散列的键?
我有一个数组,比如@array。我想知道数组的哪些值构成散列的键,比如说%hash。除了使用for循环之外,还有其他简单的方法吗 e、 g 在这种情况下,它应该只输出'a'和'b' 这应该可以做到:Arrays 在Perl中,如何确定数组的值是否是散列的键?,arrays,perl,hash,Arrays,Perl,Hash,我有一个数组,比如@array。我想知道数组的哪些值构成散列的键,比如说%hash。除了使用for循环之外,还有其他简单的方法吗 e、 g 在这种情况下,它应该只输出'a'和'b' 这应该可以做到: my @array = qw(a b c) ; my %hash = ( a => 1 , b => 2 ) ; my @result = grep { exists $hash{$_} } @array ; 如果你使用use strict,你会遇到一些赤裸裸的问题(你应该是)。对。
my @array = qw(a b c) ;
my %hash = ( a => 1 , b => 2 ) ;
my @result = grep { exists $hash{$_} } @array ;
如果你使用
use strict,你会遇到一些赤裸裸的问题代码>(你应该是)。对。如果该数组应该包含文字字母“a”、“b”和“c”,那么它应该是@array=('a'、'b'、'c')
或@array=qw(a-b-c)代码>@JonathanLeffler:我使用strict,只是没有在示例中包含它。
my @array = qw(a b c) ;
my %hash = ( a => 1 , b => 2 ) ;
my @result = grep { exists $hash{$_} } @array ;