#!/usr/bin/perl use strict; use warnings; my %months = ( Jan => 1, Feb => 2, Mar => 3, # ..... ); my $str = shift; my($day, $mon, $year) = split /(\D+)/, $str; printf "%02d-%02d-%s\n", $months{$mon}, $day, "20$year";