my $string = 'Aug 20, 2007 12:42 PM'; if ($string =~ /(\w{3}) (\d+), (\d{4}) (\d+):(\d{2}) (.+)/) { # do stuff } #### if ($string =~ /(\w{3}) (\d+), (\d{4}) ((\d+):(\d{2}) (.+)?)/) { # do stuff }