open( my $fh, '<', $your_file ) or die "ack: $!"; 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 ] } <$fh>; print @data; __output__ 1-3-03 sdddddd 1-3-03 kkkkkkkkkkkkkkk 1-22-03 somedata_somedata 1-22-03 sssssssssssss 1-22-03 eeeeeeeeeee 1-23-03 wwwwwwwwwww 2-3-03 aaaaaaaaaaaa 2-3-03 hhhhhhhhh 2-3-03 ddddddddddddd 2-3-03 llllllllllllllll