From 20b084d596ff3d71a76dbc55a9f458911b4b8415 Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Thu, 12 Nov 2009 18:23:48 +0100 Subject: [PATCH] XXX: comment ranges method code --- lib/List/Index.pm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/List/Index.pm b/lib/List/Index.pm index e30beef..574613e 100644 --- a/lib/List/Index.pm +++ b/lib/List/Index.pm @@ -28,12 +28,15 @@ sub ranges { while ($offset < @$self) { my $link = substr $self->[$offset], 0, $length; if ($context) { - my $trim = 1; + # take a value slightly before the current offset my $before = $offset > $context ? $self->[$offset - $context] : '.'; + # see how much of it matches the current link + my $trim = 1; for my $match (split //, $before) { scalar $link =~ /\G\Q$match/g or last; $trim++; } + # truncate link upto where the earlier value starts to differ substr($link, $trim) = '' unless $trim > length $link; } -- 2.30.0