in reply to Re: (2) Roll your own date validation
in thread Roll your own date validation

I would do the comparision numerically, because you are, in fact, comparing numbers.

Are you really really sure, that your $month does match /^\d{2}$/ ? Because your OPTION fields seem to contain a space before the number, and I am not really sure whether browsers will strip that space.

For me, your original code works without and problem and I am able without further problem to trigger any of the three conditions.

So I can only recommend really closely checking your input (for example by using the mentioned CGI::Untaint::date, and/or Time::Local). And also revisit your date/time math, as the month you associate with the number 1 will always have 31 days, and not 29 days, even though you cut it off there.

Personally, to make sure an entered date exists, I would use Time::Local, which throws an error for invalid day/month/year combinations.

perl -MHTTP::Daemon -MHTTP::Response -MLWP::Simple -e ' ; # The $d = new HTTP::Daemon and fork and getprint $d->url and exit;#spider ($c = $d->accept())->get_request(); $c->send_response( new #in the HTTP::Response(200,$_,$_,qq(Just another Perl hacker\n))); ' # web