geschickterweise könntest du DBIx::Class. Dort findest du im DBIx::Class::ResultSet, die methoden pager und page. Damit kannst du dir die sachen extrem vereinfachen.
außerdem kommst du mit DBIx::Class weg von den SQL-Statements im Code <- was ganz toll ist, sobald sich das Datenbank-System ändert.