Perl だと、ページング処理は Data::Page::Navigation かな #
viaウノウラボ Unoh Labs: PEAR::Pagerで生成されるリンクを並び替える
Webアプリケーションではページングの処理を行うことがよくありますが、実際にこの仕組みを作るには少々手間がかかるので、この処理を肩代わりしてくれるライブラリがほしいところです。
この手のライブラリは、PHPではPEAR::Pagerが有名かと思います。
Perl では Data::Page::Navigation を使ってこんな感じか
use Data::Page::Navigation;
my $p = Data::Page->new(
1000,
10,
8
);
$p->pages_per_navigation(11);
print join ' | ', $p->pages_in_navigation;
# 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13
pages_in_navigation(11) としても同様の結果になるが、あまりおすすめでしない。
pages_per_navigation に値を設定しておかないと、first_navigation_page と last_navigation_page で pages_per_navigation のデフォルト値 (10) が利用されてしまうので。
ウノウラボの方は PEAR::Pager そのままではできないことをやろうというのが本題のようだが、Perl だと、こっから先は TT にまかせることが多いと思うので、言語によって色々ですな