我有一个看似基础的问题,但是却无法解决。假设我在Perl中拥有一个哈希引用,我希望通过一个键的数组来获取值的数组。
以下是使用哈希而不是哈希引用的方法:
my %testHash = ( "a" => 1, "b" => 2, "c" => 3 );
my @testKeys = ("a", "b", "c");
my @testValues = @testHash{@testKeys};
现在假设我有一个哈希引用(hash reference):
my $hashRef = {"a" => 1, "b" => 2, "c" => 3};
我尝试了以下两种方法:
my @values = @{$hashRef->{@testKeys}};
my @values = $hashRef->{@testKeys};
但两者都不正确。有没有正确的方法,或者我每次想这样做都必须取消引用哈希引用?
@$hashref{@testKeys}
也可以工作。我曾经更喜欢使用{}
大括号,因为它更明确,但现在我更倾向于使用更简洁的变体。 - ephemient