Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

Re: checking for valid date

by GrandFather (Sage)
on Jul 30, 2006 at 07:02 UTC ( #564595=note: print w/replies, xml ) Need Help??

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