in reply to Reaped: Exception error in perl code

Ok - let's look at the information you're given.
Uncaught exception from user code: Day '0' out of range 1..31 Line 405 in the program points to "return timelocal(0, 0, 0, @dmy) / ( +24 * 60 * 60);

So where you would look is that line and it involves something about the day being 0 and not in the range of 1..31. If you look at the docs for Time::Local the example for timelocal looks like this.

$time = timelocal($sec,$min,$hour,$mday,$mon,$year);

$mday is the 4th item. So it in your array @dmy. So that is where you want to look. Use Data::Dumper to print the value of @dmy right before the offending line.

use Data::Dumper; print Dumper \@dmy; return timelocal(0, 0, 0, @dmy) / (24 * 60 * 60);
One dead unjugged rabbit fish later...