#!/usr/bin/perl use strict; use warnings; use Date::Manip; Date_Init("TZ=EST5EDT"); my @dates = ( '01-30 22:10', '01-12 05:56', '01-24 01:42', '01-12 05:59', '01-31 01:33', '01-02 01:33' ); foreach my $date (@dates) { $date =~ s/^\s+//; #remove leading space $date =~ s/\s+$//; #remove trailing space $date =~ s/\s/\/09 /; #add the year $date =~ s/-/\//; #change - to / $date = ParseDate($date); } @dates = sort { Date_Cmp($a, $b) } @dates; for (@dates) { print $_, "\n"; }