my $offset = url_param('offset') || 0; my $sth = $dbh->prepare("SELECT * FROM foo WHERE something = 1 LIMIT 15 OFFSET $offset"); my $rv = $sth->execute(); my @data; if($rv && ($rv ne "0E0")){ while($_ = $sth->fetchrow_hashref()){ push @data, $_; } $sth->finish(); } #set up the offset for the next page $offset += 15;