#!/usr/bin/perl
use warnings;
use strict;
open FIN, '<', 'something.csv' or die "Cannot open 'something.csv
+' because: $!";
open FOUT, '>', 'something_new.csv' or die "Cannot open 'something_new
+.csv' because: $!";
my %data;
while ( <FIN> ) {
next unless /^(\d+):(\d+):\d+\s+(\d+)$/;
my $key = sprintf '%02d%02d', $1, int( $2 / 5 ) * 5;
if ( exists $data{ $key } ) {
$data{ $key } = [ $., $_, $3 ] if $data{ $key }[ 2 ] < $3;
}
else {
$data{ $key } = [ $., $_, $3 ];
}
}
print FOUT map $_->[ 1 ], sort { $a->[ 0 ] <=> $b->[ 0 ] } values %dat
+a;
|