如何在perl中访问关联数组的元素

时间:2013-07-16 10:19:10

标签: perl associative-array

我有以下代码

my %ages = (); 

$a1 = "Michael Caine";
$a2 = "Dirty Den";
$a3 = "Angie";
$a4 = "Willy";
$a5 = "The Queen Mother";

$ages{$a1} = 39;
$ages{$a2} = 34;
$ages{$a3} = 27;
$ages{$a4} = "21 in dog years";
$ages{$a5} = 108;

print $age->{$a1};

但这不是打印。我不想使用键或值。如何使用'$age->{$a1}'类型语法访问哈希的内容?

4 个答案:

答案 0 :(得分:5)

您正在尝试访问不存在的$age。 此外,您正在尝试使用额外的引用->,这是错误的。

你需要使用它:

$ages{$a1}

答案 1 :(得分:4)

当你访问哈希时,你必须这样做:

print $ages{$a1};

因为它不是参考。

我建议你阅读book Modern Perl,它对我帮助很大。

答案 2 :(得分:0)

此代码可以帮助您

  sub storeArray {
        $hash = {
            key1 => [1,2,3,4,5],
            key2 => [6,7,8,9,0],
        };
        return $hash;   # don't return reference cause it already is 
    }

print $hash->{'key1'}->[0][2];

答案 3 :(得分:0)

如果您想使用哈希解除引用

$ages->{$a1}

首先需要哈希引用

my $ages = \%ages;