我有一个似乎基本的问题,但我无法弄清楚。假设我在Perl中有一个哈希引用。我想通过一组键来获取一组值。Perl:哈希引用访问键阵列
下面是它会如何利用哈希工作,而不是一个散列引用:
my %testHash = ("a" => 1, "b" => 2, "c" => 3);
my @testKeys = ("a", "b", "c");
my @testValues = @testHash{@testKeys};
现在假设我有一个散列引用,
my $hashRef = {"a" => 1, "b" => 2, "c" => 3};
我试过有以下两种方式:
my @values = @{$hashRef->{@testKeys}};
my @values = $hashRef->{@testKeys};
但这两者都不正确。有没有一种正确的方法,或者我每次想要这样做时都必须解除散列引用的引用?
在这种情况下,'@ $ {hashref} @testKeys'工作过。我过去更喜欢'{}'大括号,因为它更加明确,但现在我倾向于不那么吵闹的变体。 – ephemient
@ephemient感谢您帮助我改进答案。 –
啊,我想我被我的缺乏理解所困,箭头只是一个方便的简写。 –