... $pager = Data::Page::Extended->new($total_records, $page_size, $current_page); $sth = $dbh->prepare(q{select * from table where rec_date <= ? order by rec_date limit ?,?}); $sth->execute($date, $pager->skipped_items, $page_size); ... #### package Data::Page::Extended; use base 'Data::Page'; sub skipped_items { my $self = shift; return $self->first - 1; } 1;