Avoiding "warning: Use of uninitialized value" when fetching an integer CGI parameter
Standard practice is to scope variables using my.

Since Perl 5.10, the preferred way to write this is to use the logical defined-or operator to provide a default value when undef is encountered.

my $param_page = int(param('page') // 1);