我有一个对哈希哈希的哈希引用。
ref -> hash1
hash2
等...
我正在尝试复制 2 个哈希值以用于相互比较。
my %hash1 = %$ref->{ $name1}; // but I can't get it to work.
my %hash2 = %$ref->{ $name2};
我得到:在预期大小均匀的列表中找到参考。
我知道我没有声明这是正确的,所以任何帮助将不胜感激。
你在这里有错误:%$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);
由于运算符优先级,您需要这样做:
my %hash1 = %{ $ref->{$name} };