in reply to date validation module
To do it with only core modules, try something like (untested):
use Time::Local "timegm"; sub bad_date { my ($y,$m,$d) = @_; ! defined eval { timegm(0,0,0,$d,$m-1,$y) } } [download]