cat crap | mysort > sorted_crap #### $log_entries = {}; while ( ) { # Date string looky like: "06/Apr/2001:08:30:05" /(\d{2}\/\w{3}\/\d{4}\:\d{2}\:\d{2}\:\d{2})/; $secs = parsedate($&); push @{$log_entries->{$secs}}, $_; } foreach $key (sort %$log_entries) { foreach $entry (@{$log_entries->{$key}}) { print $entry; } }