From 0ede244fc4076f902584ee6d088cd7fd7fd2817f Mon Sep 17 00:00:00 2001 From: minima Date: Sun, 29 Sep 2002 00:50:01 +0000 Subject: [PATCH] really fix the caching in all cases --- perl/Prefix.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/perl/Prefix.pm b/perl/Prefix.pm index 3fdcdcea..0e67801d 100644 --- a/perl/Prefix.pm +++ b/perl/Prefix.pm @@ -148,10 +148,10 @@ sub matchprefix my $pref = shift; my @partials; - $pref =~ s/-\d+$//; for (my $i = length $pref; $i; $i--) { $matchtotal++; my $s = substr($pref, 0, $i); + push @partials, $s; my $p = $cache{$s}; if ($p) { $hits++; @@ -159,10 +159,10 @@ sub matchprefix my $percent = sprintf "%.1f", $hits * 100 / $misses; dbg("Partial Prefix Cache Hit: $s Hits: $hits/$misses of $matchtotal = $percent\%"); } + $cache{$_} = $p for @partials; return @$p; } else { $misses++; - push @partials, $s; my @out = get($s); if (isdbg('prefix')) { my $part = $out[0] || "*"; -- 2.43.0