我有一個似乎基本的問題,但我無法弄清楚。假設我在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感謝您幫助我改進答案。 –
啊,我想我被我的缺乏理解所困,箭頭只是一個方便的簡寫。 –