my $start = param('start') || 0; my $num = param('number') || 10; @results = $sth->execute(...); @actual = @results[$start..($start+$num)]; # limit them my $more_to_do = 1 if defined $results[$start + $num + 1]; my $less_to_do = 1 if $start; print_previous_link if $less_to_do; print_results(@actual); print_next_link if $more_to_do;