- 论坛徽章:
- 307
|
- #!/usr/bin/perl
- use strict;
- use warnings;
- sub Display{
- my ($pos, $rh) = @_;
- my $intInfo = join ('-', @{delete ($rh->{$pos}{'L'})}[0,-1]);
- my @aVals = map {@$_} delete ($rh->{$pos}{'V'});
- my $sum = 0;
- $sum += $_ for @aVals;
- print join ("\t", $intInfo, ($sum / @aVals)), "\n";
- }
- my ($lastPos, %hData) = (0, ());
- while (<DATA>){
- my ($n, $v) = split;
- my $pos = int ($n / 100);
- push (@{$hData{$pos}{'L'}}, $n);
- push (@{$hData{$pos}{'V'}}, $v);
- next if ($lastPos == $pos);
- Display ($lastPos, \%hData);
- $lastPos = $pos;
- }
- Display ($lastPos, \%hData);
- __DATA__
- 0 1
- 5 0.064999
- 87 0.074467
- 101 0.053001
- 110 0.064052
- 231 1
- 244 0.000945
- 251 1
- 351 0.114801
- 357 0.005302
- 372 0.000127
- 488 1
- 489 0.674773
- 489 0.129187
- 593 0.024282
- 594 0.000234
复制代码 |
|