- 论坛徽章:
- 1
|
- #!/usr/bin/perl
- use strict;
- my %hash;
- while (<DATA>){
- chomp;
- my ($name,$s,$e) = split /\s+/,$_;
- push @{$hash{$name}},[$s,$e];
- }
- foreach my $k (keys %hash){
- my @sort = sort {$a->[0] <=> $b->[0]}@{$hash{$k}};
- my $start = $sort[0][0];
- my $end = $sort[0][1];
- for my $i (1..$#sort){
- if ($end >= $sort[$i][0] -300){
- $end = $sort[$i][1];
- }
- if ($end >= $sort[$i][1]){next;
- }
- else {
- print "$k\t$start\t$end\n";
- $start = $sort[$i][0];
- $end = $sort[$i][1];
- }
- }
- print "$k\t$start\t$end\n";
- }
- __DATA__
- 01 100 200
- 01 700 820
- 01 710 800
- 01 850 900
- 01 2000 2367
- 02 350 546
- 02 1543 1789
- 02 1543 1790
复制代码 回复 1# xiaotuoba001
|
|