{}在perl中意味着什么?

时间:2011-06-22 06:37:38

标签: perl

my $a = {};
my $b = {$a=>''};

我知道{}可以用来引用哈希键,但{}在这里意味着什么?

2 个答案:

答案 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,没有。)

perlref