if (( ($m, $d, $y) = (/($month)($day)($year)/io) ) || ( ($d, $m, $y) = (/($day)($month)($year)/io) ) ) { $y += 1900 if $y < 100; $m = substr($m, 1, 3); $d =~ s/^(\d+).*$/$1/; print "$d-$m-$y\n"; }