0

ダンパーを使用すると、以下のようなハッシュがあります。各レベルを繰り返し、すべてを個別に印刷したいと思います。

$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 の場合、各キーをループし、サブルーチンを使用してそのキーの値を再帰的に出力します。

終わり

于 2012-09-29T14:17:26.113 に答える