#!/usr/bin/perl use strict; use warnings; use Time::ParseDate; my @guesses; while () { my ($nic, $dates) = split /\s+/, $_, 2; my ($date) = split /GMT/, $dates; my $esec = parsedate($date); $date =~ s/ (\d) / 0$1 /; $date =~ s/ (\d{2}:\d{2}) / $1:00 /; push @guesses, "$esec $date $nic"; } print join "\n", map {s/\d+\s//;$_} sort @guesses; __DATA__ 5mi11er Mon Oct 17 16:25:00 2005 GMT Tue Sep 20 14:27:03 2005 GMT ambrus Wed Oct 12 17:00:00 2005 GMT Tue Sep 20 11:37:03 2005 GMT aukjan Tue Oct 18 13:33 2005 GMT Tue Sep 20 11:26:47 2005 GMT baldpenguin Sun Oct 23 14:32:00 2005 GMT Tue Sep 20 15:19:01 2005 GMT blazar Thu Oct 6 18:03:39 2005 GMT Tue Sep 20 10:50:45 2005 GMT blokhead Mon Oct 31 00:00:00 2005 GMT Tue Sep 20 15:29:54 2005 GMT