in reply to date validation

I believe Date::Manip on cpan might have this kind of functionality

IMHO, the easiest way to do such a thing outside of a CPAN module would be to convert the dates to seconds since the epoc and compare the two numbers.