http://www.perlmonks.org?node_id=564595


in reply to checking for valid date

There are a pile of Date manipulation modules available for Perl. The big hammer is Date::Manip. Possibly the way to validate your date string is first to chop it up assuming that the format is correct:

if ($yyyymmdd !~ /(\d{4})(\d\d)(\d\d)/) { print "Bad data string provided: $yyyymmdd\n"; return 0; } my ($year, $month, $day) = ($1, $2, $3); ...

You can then check that the year, month and day are within the expected ranges and finally validate the full date by using Date::Manip.


DWIM is Perl's answer to Gödel