Perl:在表中打印哈希内容

时间:2014-02-05 05:22:31

标签: perl hash

任何人都可以指导我以表格形式打印可缩放2D哈希的内容。

示例输出

    C1  C2  C3  C4
R1  0   1   2   -
R2  3   x   y   5
R3  4   3   -   2
R4  6   6   6   2

上面的内容在哈希中可用,如果缺少数据,则输出由' - '表示。输出中的数字和列不固定。

问候

1 个答案:

答案 0 :(得分:1)

perl -MData::Dumper -lane'
  @c=@F, next if $. ==1;
  $k = shift @F;
  @{ $h{$k} }{@c} = @F;
  }{ print Dumper \%h;
' file

输出

$VAR1 = {
      'R3' => {
                'C3' => '-',
                'C4' => '2',
                'C2' => '3',
                'C1' => '4'
              },
      'R1' => {
                'C3' => '2',
                'C4' => '-',
                'C2' => '1',
                'C1' => '0'
              },
      'R4' => {
                'C3' => '6',
                'C4' => '2',
                'C2' => '6',
                'C1' => '6'
              },
      'R2' => {
                'C3' => 'y',
                'C4' => '5',
                'C2' => 'x',
                'C1' => '3'
              }
    };