假设我使用了以下关系
sub _relation {
+{
player1 => 0,
player2 => 1,
player3 => 0,
},
;
}
答案 0 :(得分:6)
此子例程返回散列引用(指向散列的指针。)以这种方式使用的大括号构造一个匿名散列并返回对它的引用。
假设你调用子程序是这样的:
my $results = _relation();
您可以使用->
解除引用运算符访问元素:
$results->{player1} # 0
$results->{player2} # 1
如果要将匿名哈希值复制到命名哈希值,可以使用
立即取消引用整个事件。my %regular_hash = %$results;
有关详情,请参阅Perl References Tutorial。
答案 1 :(得分:4)
弗鲁多的回答是正确的。在尝试理解数据结构时,使用Data :: Dumper会很有帮助。
use Data::Dumper;
print Dumper(_relation());
输出中的{}显示这是一个匿名哈希:
$VAR1 = {
'player3' => 0,
'player2' => 1,
'player1' => 0
};