Here, I have ignored the error code because I did not know what to do in case of conflict between readings.use warnings; use strict; use List::Util qw(max min sum); my %range; while (<DATA>) { my ($time, $value, $error) = split /\s+/; push @{ $range{$time} }, $value; } foreach my $time (sort keys %range) { print "$time "; print min( @{ $range{$time} } ) . " "; print sum( @{ $range{$time} } )/@{ $range{$time} } . " "; print max( @{ $range{$time} } ) . "\n"; } __DATA__ 04/26/04.16:15 3.088 N 04/26/04.16:15 5.994 N 04/26/04.16:15 4.391 N 04/26/04.16:15 3.616 N 04/26/04.16:20 3.997 N 04/26/04.16:20 4.151 N 04/26/04.16:20 3.751 N 04/26/04.16:20 2.887 N 04/26/04.16:25 3.657 N 04/26/04.16:25 4.712 N 04/26/04.16:25 4.346 N 04/26/04.16:30 3.628 N 04/26/04.16:30 5.636 N 04/26/04.16:30 4.593 N
-Mark
In reply to Re: rearrange data to min, avg, max
by kvale
in thread rearrange data to min, avg, max
by Earindil
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |