my $log = $provoutfile; print "Now Processing $log....\n"; open LOG, "$log" or die "LOG $log: $!\n"; $linecnt = 0; while () { chomp $_; $linecnt++; my @sortedlines = map { $_->[0] } sort { $a->[1] <=> $b->[1] } map { [$_, Time::Piece->strptime($_, '%a %b %d %H:%M:%S %Y')->epoch ] } @lines; $line = ""; $linecnt = 0; } #### TIMESTAMP=Fri Nov 2 16:33:18 2018 TIMESTAMP=Fri Nov 2 17:26:35 2018 TIMESTAMP=Fri Nov 2 17:26:35 2018 TIMESTAMP=Fri Nov 2 17:27:33 2018 TIMESTAMP=Fri Nov 2 17:27:33 2018 TIMESTAMP=Thu Oct 18 18:29:15 2018 TIMESTAMP=Thu Oct 18 18:29:15 2018 TIMESTAMP=Thu Oct 18 18:29:27 2018 TIMESTAMP=Thu Oct 18 18:29:27 2018 TIMESTAMP=Thu Oct 18 19:06:32 2018 TIMESTAMP=Thu Oct 18 19:06:32 2018