@datesort = qw(6-1-04 5-4-04 14-21-04 12-3-04); my @data = map { $_->[0] } sort { $a->[1] <=> $b->[1] } map { my($m,$d,$y) = /^(\d+)-(\d+)-(\d+)/; [ $_, sprintf "20%d%02d%02d", $y, $m, $d ] } (@datesort); foreach (@data) { print "$_\n"; } ^D 5-4-04 6-1-04 12-3-04 14-21-04