in reply to Need help to improve pagination
perlintro#Perl variable types, Writing subroutines
#!/usr/bin/perl -- ## ## ## perltidy -olq -csc -csci=10 -cscl="sub : BEGIN END if " -otr -opr +-ce -nibc -i=4 -pt=0 "-nsak=*" #!/usr/bin/perl -- use strict; use warnings; Main( @ARGV ); exit( 0 ); sub Main { print join "\n", pageLinksHtml( 170, 11, 10, 5 ); } sub pageNumbers { return { first => 1 }, 9, 10, { curr => 11 }, 12, 13, { last => 17 }, ; } ## end sub pageNumbers sub pageLinksHtml { my( $total, $curr, $rate, $links ) = @_; my @nums = pageNumbers( $total, $curr, $rate, $links ); for my $num ( @nums ) { if( ref $num ) { if( my $first = $$num{first} ) { $num = sprintf '<li><a href="?;page=%d">{%d</a>...</li +>', $first, $first; } elsif( my $curr = $$num{curr} ) { $num = sprintf '<li><b>%d</b></li>', $curr; } elsif( my $last = $$num{last} ) { $num = sprintf '<li>...<a href="?;page=%d">%d}</a></li +>', $last, $last; } } else { $num = sprintf '<li><a href="?;page=%d">%d</a></li>', $num +, $num; } } return '<ul>', @nums, '</ul>'; } ## end sub pageLinksHtml
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Need help to improve pagination
by terrykhatri (Acolyte) on Jul 24, 2014 at 17:43 UTC |