为什么要将哈希引用解引用到哈希&将它分配给标量会给出一个无关的价值(至少对我而言)?
代码:
my $hash = {
1 => 9,
2 => 10,
3 => 11,
4 => 12,
5 => 13,
6 => 14,
7 => 15,
8 => 16,
};
my $dereferenced = %$hash;
print $dereferenced;
Perl版本:5.12.4
操作系统:Windows 7
打印的值是
7/16
是否与Perl内部有关?
答案 0 :(得分:1)
Scalars不能包含哈希或数组,只能引用它们。
但即使他们可以,当你在标量赋值的右侧使用哈希时,它在 标量上下文 中,并且标量上下文中的哈希产生如果散列为空,则返回false;如果不是,则返回描述散列中桶使用情况的字符串(例如“7/32”)。