in reply to timelocal error when executed twice.

I get completely different output:
mpettit:~$ ./monk.pl Undefined subroutine &main::timelocal called at ./monk.pl line 6.
If I use Time::Local (assuming that's the module you're including that is providing you with timelocal(), I still get different output:
mpettit:~$ ./monk.pl Day '' out of range 1..31 at ./monk.pl line 7