my $page = $cgi->param("page") || 0;
$page = 0 if $page !~ /^[0-9]+$/;

これが無難な処理かと。