git.shiar.nl
/
perl
/
list-index.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
t/20: clarify code structure
[perl/list-index.git]
/
lib
/
List
/
Index.pm
diff --git
a/lib/List/Index.pm
b/lib/List/Index.pm
index 57027fa685656c8608c2bcd0a54a21fb93f264f9..3663c2459422638225058204dbc9854f667f315f 100644
(file)
--- a/
lib/List/Index.pm
+++ b/
lib/List/Index.pm
@@
-62,14
+62,14
@@
sub ranges {
}
use List::MoreUtils 'uniq';
}
use List::MoreUtils 'uniq';
- @links =
map { [$_] }
uniq @links;
+ @links = uniq @links;
for my $i (0 .. $#links - 1) {
for my $i (0 .. $#links - 1) {
- my ($link, $lastchar) = $links[$i + 1]
->[0]
=~ /(.*)(.)/;
+ my ($link, $lastchar) = $links[$i + 1] =~ /(.*)(.)/;
$link .= $lastchar le 'a' ? '.' : chr( ord($lastchar) - 1 );
$link .= $lastchar le 'a' ? '.' : chr( ord($lastchar) - 1 );
- next if $link eq $links[$i]
->[0]
and $i;
- $links[$i]
->[1] =
$link;
+ next if $link eq $links[$i] and $i;
+ $links[$i]
.= '-'.
$link;
}
}
- $links[-1]
->[1] = '
';
+ $links[-1]
.= '-
';
return \@links;
}
return \@links;
}
@@
-92,6
+92,7
@@
sub rangematch {
my $next = $char;
$next = chr( ord($char) + 1 ) if length $s1 > $i + 1;
my $last = 'z';
my $next = $char;
$next = chr( ord($char) + 1 ) if length $s1 > $i + 1;
my $last = 'z';
+ next if $next gt $last;
if (length $s2 > $i) {
if ($s2 =~ /^\Q$prefix/) {
$last = substr $s2, $i, 1;
if (length $s2 > $i) {
if ($s2 =~ /^\Q$prefix/) {
$last = substr $s2, $i, 1;