my $page = url_param('page'); $page = 1 if $page eq ""; # fixup $page my $top = $page* 20 - 1; my $bottom = $top - 19; for ( grep defined($_), ( reverse keys %upload )[ $bottom .. $top ] ) { do this if url_param exists ... }