我有哈希哈希的哈希引用。
参考 - > HASH1
HASH2
等...
我正在尝试复制2个哈希值,以便相互比较。
my %hash1 = %$ref->{ $name1}; // but I can't get it to work.
my %hash2 = %$ref->{ $name2};
我得到:参考文献找到了偶数大小的列表。
我知道我没有宣布这是正确的,所以任何帮助都会受到赞赏。
答案 0 :(得分:4)
这里有错误:%$ref->{ $name1};
,这里的错误是不正确的。请查看下面的示例。
#!/usr/bin/perl
use strict;
use Data::Dumper;
my $ref = {
hash1 => { a => 1, b => 2 },
hash2 => { c => 3, d => 3 },
};
my $name = 'hash1';
my %hash = %{ $ref->{$name} }; # right dereference
print Dumper(\%hash);
答案 1 :(得分:3)
由于运算符优先级,您需要这样做:
my %hash1 = %{ $ref->{$name} };