in reply to Timelocal, Localtime Bug?
This is from the documentation on Time::Local:
$time = timelocal($sec,$min,$hour,$mday,$mon,$year);
It looks like you're putting $month where $hour is supposed to go?
EDIT: Nevermind, it looks like you're consistently checking the hours anyways. The 3 instead of 2 makes me think that it has something to do with DST (2 AM doesn't exist because we spring forward to 3 AM in the spring). Still, it doesn't happen on March 1st, so this doesn't seem quite correct...