my $page = 1; # which page to display my $display_perl_page = 100; my $first = ($page - 1) * $display_perl_page; my $last = $first + $display_perl_page; while () { next unless $. >= $first; last if $. > $last; # display this record }