+++: first link (prefill, keep dot references)
authorMischa POSLAWSKY <perl@shiar.org>
Thu, 12 Nov 2009 17:58:34 +0000 (18:58 +0100)
committerMischa POSLAWSKY <perl@shiar.org>
Thu, 12 Nov 2009 17:58:34 +0000 (18:58 +0100)
lib/List/Index.pm

index 47ef0da75030c8cda582a1b1bf93d4b9a0db493d..bf4e04db592dabcf488ab9a2dfd5386bbd3a4668 100644 (file)
@@ -23,8 +23,8 @@ sub ranges {
        my $pages    = $options->{pages   } || 1 + int $#$self / $pagesize;
 
        $pagesize = @$self / $pages;
-       my $offset = 0;
-       my @links;
+       my $offset = $pagesize;
+       my @links = (['']);
        while ($offset < @$self) {
                my $link = substr $self->[$offset], 0, $length;
                if ($context) {
@@ -63,13 +63,11 @@ sub ranges {
 
        for my $i (0 .. $#links - 1) {
                my ($link, $lastchar) = $links[$i + 1]->[0] =~ /(.*)(.)/;
-               $link .= $lastchar eq 'a' ? '.' : chr( ord($lastchar) - 1 )
-                       unless $lastchar eq '.';
+               $link .= $lastchar le 'a' ? '.' : chr( ord($lastchar) - 1 );
                next if $link eq $links[$i]->[0] and $i;
                $links[$i]->[1] = $link;
        }
        $links[-1]->[1] = '';
-       $links[0]->[0] = '';
 
        return \@links;
 }