in reply to Prototype problem

It's not a prototyping problem, it's a scope problem. You declared: my ($min, $hour, $day, $month, $year, $calc_year, $calc_month); within sub in_time_date but didn't declare the variables outside that subroutine.