我是Perl的新手。我知道$
是标量,@
数组和%
哈希。
我见过类似的代码(我用记忆写的):
$var = {
key => value,
anotherkey => anothervalue
}
这是什么?
答案 0 :(得分:12)
声明了一个标量变量$var
,其中包含匿名散列的引用。
引用(有点像指针)总是标量,无论它们引用什么。
您也可以这样做:
%hash = ( key => value, anotherkey => anothervalue ); #parentheses, not curlies!
$var = \%hash;
在这种情况下,$var
引用的哈希不再是匿名的,但结果是相同的。
在应用哈希下标$var
之前,您可以通过解除引用 ->
并{
提取引用哈希的各个元素... {{1}语法:
}
或者您可以通过$var->{key} # == value, same as $hash{key} in second case
检索整个内容(并恢复%hash
)。
查看更多详情here。
答案 1 :(得分:2)
它是对哈希的引用。见perlref
答案 2 :(得分:2)
这是一个分配给标量的匿名哈希引用。
答案 3 :(得分:2)
这是一个参考(就像一个指针,但不是真的)。
它是一个标量,它包含对另一个标量,数组或哈希的引用。
关于主题的Perldoc页面:http://perldoc.perl.org/perlreftut.html