如何取消引用这样的变量以获得'99'和'参数中的问题'?
DB<103> print Dumper($error_code);
$VAR1 = \{
'99' => 'Problem in Parameter'
};
DB<104> x $error_code
0 REF(0x30393f34)
-> HASH(0x30393ea4)
99 => 'Problem in Parameter'
答案 0 :(得分:1)
您可以参考参考。你必须加倍取消引用,首先是标量,而不是哈希:
my $error_code = \{
'99' => 'Problem in Parameter'
};
my ($ninety_nine) = keys %$$error_code;
my $string = ${$error_code}->{$ninety_nine};
print "$ninety_nine, $string\n";
答案 1 :(得分:1)
您引用了对哈希的引用。所以你需要两个解引用。
$error_code A reference to a reference to a hash
$$error_code A reference to a hash
%$$error_code A hash
所以,
my ($key, $value) = %$$error_code;
say $key;
say $value;
答案 2 :(得分:0)
怎么样:
my ($key, $value) = each %$$error_code;
say $key;
say $value;
<强>输出:强>
99
Problem in Parameter