繁体   English   中英

Perl在嵌套哈希中打印第二级哈希键

[英]Perl printing second level hash keys in a nested hash

如何打印所有我的二级哈希键(sig_qtr,日期,范围等),如下所示:

my $xml = XMLin("./${spec_file}", ForceArray => ['range', 'constant', 'question', 'date', 'sig_yr', 'sig_qtr', 'sig_mth'], KeyAttr => {});

print Dumper $xml->{entities};

打印转储器的hash输出:

$VAR1 = {
          'sig_qtr' => [
                       {
                         'name' => 'q1',
                         'label' => 'q1'
                       },
                       {
                         'name' => 'q4',
                         'label' => 'q4'
                       }
                     ],
          'date' => [
                    {
                      'name' => 'y2_mth',
                      'label' => 'pryr_mth_curr'
                    },
                    {
                      'name' => 'y3_pod6_qtr4',
                      'label' => 'curr_qtd4'
                    }
                  ],
          'range' => [
                       {
                         'name' => 'y0_jun',
                         'end' => '20100631',
                         'start' => '20100601'
                       },
                       {
                         'name' => 'y3_oct',
                         'end' => '20131031',
                         'start' => '20131001'
                       }
                     ],
          'constant' => [
                        {
                          'spec' => '99999999 and 99999999',
                          'name' => 'none_sixmth'
                        }
                      ],
          'sig_yr' => [
                      {
                        'name' => 'y1_sig',
                        'label' => 'ye11'
                      },
                      {
                        'name' => 'y3_sig',
                        'label' => 'ytd'
                      }
                    ],
          'sig_mth' => [
                       {
                         'name' => 'y3_nov',
                         'label' => 'nov12'
                       },
                       {
                         'name' => 'y3_oct',
                         'label' => 'oct13'
                       }
                     ],
          'question' => [
                        {
                          'name' => 'ltrq',
                          'label' => 'q9'
                        },
                        {
                          'name' => 'nextprod',
                          'label' => 'q12a'
                        }
                      ],
          'backfill' => {
                        'label' => 'bf_period'
                      },
          'year' => {
                      'current' => '2013'
                    }
        };

如果将键放入数组中会更好。 谢谢。

print "$_\n" for keys %{ $xml->entities };

把它们放入一个数组中,

my @keys = keys %{ $xml->entities };

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM