my @data = ('2004-05-14 13:44:13',            '2003-07-23 09:07:12',            '2004-06-17 20:15:00',            '2003-07-23 10:07:12',            '2004-06-17 23:15:00',            '2001-07-23 09:07:12',            '2005-06-17 20:15:00',            '2004-06-17 23:15:13',            );       @sorted = map  { $_->[0] } sort {        $a->[1] <=> $b->[1] ||        $a->[2] <=> $b->[2] ||        $a->[3] <=> $b->[3] ||        $a->[4] <=> $b->[4] ||        $a->[5] <=> $b->[5] ||        $a->[6] <=> $b->[6] } map {[$_, split(/[ :-]/, $_)]} @data; print "$_\n" for @sorted;