遍历数组哈希的哈希值

时间:2012-09-28 07:24:41

标签: perl

以下是代码:

#!/usr/bin/perl -w
use strict;
use Data::Dumper;

my $var = { 
    Cars => {
        cars_name => [
            "GT500", 
            "Beetle",
            "P1800"
        ]
    },           
    Bikes => {
        Bikes_name => [
            "Pulsar",
            "Discover",
            "CBR"
        ]
    }
};

#Traversing the hash of hash of array
print "$var\n";
foreach my $k1 (keys %{$var}) {

    print "$k1\n";
    print $var->$k1;
    #foreach my $k2 (keys %{$var->$k1}) {

         #print"$k2\n";
    #}   
}   

每当我尝试打印cars_name和Bikes_name时,我都会收到一条错误消息,说明无法调用方法汽车上的Unblessed参考。我无法弄清楚我在做什么错误。好吧,通过我的理解print $var->$k1;线创造一个概率。所以请任何人帮我解决这个问题。

由于

1 个答案:

答案 0 :(得分:4)

 print $var->$k1;

正在调用对象上的方法。您想要访问哈希:

 print $var->{$k1};