map { $_->[0] } sort { $a->[1] cmp $b->[1] } map { my ($m, $d, $y) = m{(\d\d)/(\d\d)/(\d\d)}; $y += y >= $cutoff ? 1900 : 2000; [ $_, sprintf('%04d/%02d/%02d', $y, $m, $d) ] } #### map { substr($_, 10) } sort map { my ($m, $d, $y) = m{(\d\d)/(\d\d)/(\d\d)}; $y += $y >= $cutoff ? 1900 : 2000; sprintf('%04d/%02d/%02d', $y, $m, $d) . $_ }