my @date_parts = split m{[\s:,]+}, $date_string; if ( @date_parts == 6 ) { # date + time } elsif ( @date_parts == 3 ) { # date only } else { die "invalid date/time combo"; }