0

我有一系列目录代码。有很多重复。我使用以下方法来查找唯一值和重复数:

my %myHash = ();

foreach (@cc) {
  $myHash{$_}++;
}

foreach ( sort keys %myHash ) {
  print "\n $_ : $myHash{$_}";
}

输出看起来像这样:

PM01  :  10<br>
PM02  :  10<br>
PM03  :  6<br>
etc..

好的,现在我想将一些行打印到 .csv 文件中。

我的目标是创建某种执行以下逻辑的 if 语句:

  1. 找出第一个哈希键的重复次数,打印 $number_of_duplicates。这些行都是相似的。
  2. 完成后,打印一个新行,包含一些东西。此行将在每个副本打印一行后打印。此行与重复后打印的其他行类似。
  3. 对所有哈希键重复此操作。

需要说明的是,我已经正确打印出我需要的内容。我的问题是如何在打印每个副本后打印额外的一行?

例如,假设这是打印出来的内容:

PM01
PM01
PM01
PM01
PM01
PM01
PM01
PM01
PM01
PM01
NEW LINE HERE
PM02
PM02
PM02
PM02
PM02
PM02
PM02
PM02
PM02
PM02
NEW LINE HERE
etc..
4

1 回答 1

1
foreach my $key ( sort keys %myHash ) {

  foreach my $iterator ( 1 .. $myHash{$key} ) {

      print $key, "\n";
  }
  print "\n";
}
于 2013-07-19T03:56:42.087 回答