【问题标题】:Print hash of arrays with commas between the elements of the array在数组元素之间用逗号打印数组的哈希
【发布时间】:2014-04-14 06:25:45
【问题描述】:

我正在使用

  for $fields ( sort {$a<=>$b} keys %HoA) {
       print "$fields-->@{$HoA{$fields}}\n";
   }

打印我的哈希值。输出是:

0-->2132123 321321321 ABCDEFG 32 DEF ...

我想要:

0-->2132123,321321321,ABCDEFG,32,DEF,...

有没有办法改变打印语句给我逗号?我宁愿不使用s/ /,/ 之类的东西。

【问题讨论】:

    标签: arrays perl csv hash


    【解决方案1】:

    使用明确的join

    for $fields ( sort {$a<=>$b} keys %HoA) {
        print "$fields-->" . join (',', @{$HoA{$fields}}) . "\n";
    }
    

    或根据perlvar 本地化 $LIST_SEPARATOR 的版本

    for $fields ( sort {$a<=>$b} keys %HoA) {
        local $" = ',';
        print "$fields-->@{$HoA{$fields}}\n";
    }
    

    【讨论】:

      猜你喜欢
      • 2018-01-12
      • 2012-07-22
      • 1970-01-01
      • 2021-08-19
      • 1970-01-01
      • 2020-10-16
      • 2013-06-24
      • 2015-05-29
      • 1970-01-01
      相关资源
      最近更新 更多