#!/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 '
  • {%d...
  • ', $first, $first; } elsif( my $curr = $$num{curr} ) { $num = sprintf '
  • %d
  • ', $curr; } elsif( my $last = $$num{last} ) { $num = sprintf '
  • ...%d}
  • ', $last, $last; } } else { $num = sprintf '
  • %d
  • ', $num, $num; } } return ''; } ## end sub pageLinksHtml