- 论坛徽章:
- 307
|
- #!/usr/bin/perl
- use strict;
- use warnings;
- my %hStat;
- while (<DATA>){
- my ($sID, $sVal) = split;
- $hStat{$sID}{$sVal} = 1;
- }
- $, = "\t";
- foreach my $sKey (sort {$a <=> $b} keys %hStat){
- my @aData;
- foreach (sort {$a <=> $b} keys %{$hStat{$sKey}}){
- if (!@aData){
- @aData = [($_) x 2];
- next;
- }
- if ($aData[-1][-1] + 1 == $_){
- $aData[-1][-1]++;
- next;
- }
- push (@aData, [($_) x 2]);
- }
- print $sKey, join ("-", @$_), "\n" for @aData;
- }
- __DATA__
- 111 1
- 111 5
- 333 7
- 222 6
- 222 9
- 111 3
- 222 10
- 333 3
- 333 4
- 333 5
- 333 6
复制代码 |
|