my %date_convert = ( ... 'Dec 29' => '04-12-29', ... ); #### my $day_re = '(?:Mon|Tue|...|Sun)'; my $mon_re = '(?:Jan|Feb|...|Dec)'; my $time_re = '\d\d:\d\d:\d\d'; $text =~ s/$day_re ($mon_re \d+) ($time_re)/$date_convert{$1} . "_" . $2/ge;