my @dateparts = split '/|\s+', $date; #### @dateparts[0,1] = @dateparts[1,0] if $dateparts[1] =~ /^[A-Z]/; #### $dateparts[2] += ($dateparts[2] > 99) ? 0 : ($dateparts[2] > 9) ? 1900 : 2000; #### exists $months{$dateparts[0]} or die 'Bad Month!'; #### print $months{$dateparts[0]}, ' ', 0+$dateparts[1], ', ', dateparts[2];