Perl - 数组和哈希之间的混淆

时间:2014-10-01 02:35:08

标签: perl

如何在以下代码行中从$ this中检索“A”:

my $this = { 1 => "A", 2 => "B", 3 => "C" };

我是Perl的新手,并从上面的一行中提出了几个问题。

1)首先,这是一行有效的代码吗?

2)这是什么类型的数据结构?我认为它是哈希,但以下行没有给我'A'。

print "$this{1}";

1 个答案:

答案 0 :(得分:4)

是的,这是一个匿名哈希引用。

这大致相当于说:

my %hash = ( 1 => "A", 2 => "B", 3 => "C" );

my $this = \%hash;

要访问值“A”,您可以使用:

print $this->{1};

对于Perl的介绍,我建议阅读Modern Perl Book。 Perl语言部分将讨论数据结构和引用。