trying to return a value from a subroutine
I have some Perl code where I am trying to return a value from a subroutine, but I'm getting all kinds of errors. Here is the code I have:
while($sth->fetch())
{
# if($leventid == 2||3||4||11||21) {
# $pagecount++;
# }
$page = get_timing($leventid, $tid, $tname);
if($page == 1) {
return 2;
} else {
return 0;
}
}
#if($page == 1) {
# return 2;
#} else {
# return 0;
#}
#print "Total # of pages: $pagecount\n\n";
################################################## ###################
#################### Subroutines ####################################
################################################## ###################
sub get_timing($$$) {
my $event_id = shift;
my $task_id = shift;
my $task_name = shift;
$event_id = int($event_id);
if($event_id == 2) { #missed start date
print "$task_name returned an error code of $event_id.\n";
$p = 1;
}
if($event_id == 3) { #missed end date
print "$task_name returned an error code of $event_id.\n";
$p = 1;
}
if($event_id == 4) { #missed due date
print "$task_name returned an error code of $event_id.\n";
$p = 1;
}
if($event_id == 11) { #missed due date
print "$task_name returned an error code of $event_id.\n";
$p = 1;
}
if($event_id == 21) { #missed due date
print "$task_name returned an error code of $event_id.\n";
$p = 1;
}
return $p;
} #end get_timing
These are the errors I'm getting:
main::get_timing() called too early to check prototype at exportmonitor.pl line 46.
Can't return outside a subroutine at exportmonitor.pl line 48.
What am I doing wrong, and why isn't the value of $p being stored in $page above?