0

当我使用 Dumper 时,我有一个如下所示的哈希。我想遍历每个级别并单独打印所有内容。

$VAR1 = {
          'TP144' => {
                          'LNDN CDR' => [
                                            'NAME   XYZ
                        FNAME   ABC
                        STATUS  MARIED
                        TEST   "THIS IS TEST"
                        TEMP!VALUE   0'
                                        ],

它看起来是这样的:L2 的值本身就是一个数组。

$VAR1{L1}{L2}=>ARRAY

任何帮助表示赞赏。

提前致谢

编辑:谢谢马特,我在那个链接中找到了答案。这就是我的做法。

foreach $L1 ( sort keys %VAR1 ) {
     print "$L1: { ";
     for $L2 ( sort keys %{ $VAR1{$L1} } ) {
         foreach  (@{$VAR1{$L1}{$L2}})
         {
             print $_."\n";
         }

     }
     print "}\n";
 }
4

1 回答 1

3

最简单的方法是递归地这样做。

  • 检查您对递归子的输入。

    • 如果您的输入是标量,请打印

    • 如果您的输入是 n arrayref,则遍历每个元素并使用您的子递归打印该元素

    • 如果您的输入是 hashref,则循环遍历每个键并使用您的 sub 递归地打印该键的值。

完毕

于 2012-09-29T14:17:26.113 回答