这是数组,哈希还是标量?

时间:2013-05-10 19:42:08

标签: perl

我是Perl的新手。我知道$是标量,@数组和%哈希。
我见过类似的代码(我用记忆写的):
$var = { key => value, anotherkey => anothervalue }

这是什么?

4 个答案:

答案 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)

这是一个分配给标量的匿名哈希引用。

http://perldoc.perl.org/perlreftut.html

答案 3 :(得分:2)

这是一个参考(就像一个指针,但不是真的)。​​

它是一个标量,它包含对另一个标量,数组或哈希的引用。

关于主题的Perldoc页面:http://perldoc.perl.org/perlreftut.html