print for map { $_->[0] } # extract original date sort { $a->[1] cmp $b->[1] } # Sort, using sortable date map { m/(\d\d)-(\d\d)-(\d{4})/; [$_, "$3$2$1"] # [original date, sortable date] } ; __DATA__ 02-02-2007 01-01-2006 03-03-2009 02-02-2009 #### 01-01-2006 02-02-2007 02-02-2009 03-03-2009