【问题标题】:Traversing the hash of hash of array遍历数组hash的hash
【发布时间】:2012-09-28 18:41:12
【问题描述】:

这里是代码:

#!/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 时,我都会收到一条 错误消息,指出 Can't call method Cars on Unblessed reference。我无法弄清楚我在做什么错误。好吧,我理解这个print $var->$k1;线创建一个概率。所以请任何机构都可以帮助我解决这个问题。

谢谢

【问题讨论】:

    标签: perl


    【解决方案1】:
     print $var->$k1;
    

    调用对象的方法。你想访问一个哈希:

     print $var->{$k1};
    

    【讨论】:

      猜你喜欢
      • 2016-03-26
      • 1970-01-01
      • 2022-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多