いまさらというか、よくわからない順番で発見または再発見があるのでCatalsytは素敵。
uri_with lets you add new (or replace existing) key-value pairs in the current request's URL. The following Template Toolkit code shows you how to take a URL (eg. http://example.com/search/?q=foo) and append next and previous page numbers (eg. http://example.com/search/?q=foo&page=2). It assumes that you have a Data::Page object in a stash variable called "pager".
というわけで、uri_with()を使うと、現在のURIに新たなキー値を付加することができるということなんだそうだ(知らなかった)。
ページ処理とかはこれですっきりしそう。