in reply to checking for valid date
I'll do this in two steps. First I'll check that the date is indeed eight digits, then I'll check if it refers to a valid date with the Date::Manip module (so this will fail with historical dates using the Julian calendar).
Output:perl -we 'use Date::Manip; sub valid_yyyymmdd { $_[0] =~ /^(\d{8})$/ a +nd ParseDate($1) and 1; } valid_yyyymmdd($_) and print "$_\n" for qw" +20060630 20060631 20060730 20060731 20060732 2006.07.30 06.07.31";'
20060630 20060730 20060731
|
---|
In Section
Seekers of Perl Wisdom