my $a = {};
my $b = {$a=>''};
我知道{}
可以用来引用哈希键,但{}
在这里意味着什么?
答案 0 :(得分:11)
{}创建对空匿名哈希的引用。阅读更多here。
示例代码:
use Data::Dumper;
my $a = {};
print "a is " . Dumper( $a );
my %b = ();
print "b is " . Dumper( \%b );
输出:
a is $VAR1 = {};
b is $VAR1 = {};
答案 1 :(得分:8)
{}
是匿名哈希构造函数。
它创建一个新的哈希,将curlies中的表达式的结果分配给哈希,然后返回对该哈希的引用。
换句话说,
{ EXPR }
大致相当于
do { my %hash = ( EXPR ); \%hash }
(EXPR
可以为null,没有。)