in reply to Timelocal out of range message

Most likely you are passing in the wrong value for the month. Most likely, that value is 1, and you intend it to be for January, but 1 is for February in the Time::Local API.