Data::Pageset
提供: dsk's note
@hogeには、なんらかのデータが入っているという前提で...
use CGI; use Data::Pageset; my $page = $obj->param('p'); $page ||= "1"; my @hoge; my $total_entries=@hoge; my $current_page=$page; my $entries_per_page =15; my $pages_per_set = 10; my $page_info = Data::Pageset->new({ #全ての要素数 'total_entries' => $total_entries, #1ページあたりの表示数 'entries_per_page' => $entries_per_page, #現在のページ 'current_page' => $current_page, #1ページあたりのページング数 'pages_per_set' => $pages_per_set, #ページングを表示ページ幅を固定するかスライドするか slide or fixed 'mode' => 'slide', }); #前へ if ($page_info->previous_page) { print "<a href='?p=" . $page_info->previous_page . "'><< 前へ</a>\n"; } #ページ別リンク foreach my $page (@{$page_info->pages_in_set()}) { if($page == $page_info->current_page()) { print " <strong>$page</strong>\n "; } else { print " <a href='?p=" . $page . "'>$page</a>\n "; } } #次へ if ($page_info->next_page) { print "<a href='?p=" . $page_info->next_page . "'>次へ >></a>\n"; }
Data::Pageset - search.cpan.org