fix mem_lookup with values which include characters which can be interpreted as regexes
[webpac] / filter / mem_lookup.pm
index d193356..f29e12c 100644 (file)
@@ -32,7 +32,7 @@ sub mem_lookup {
                if (/^(.+)\s=>\s(.+)$/) {
                        my ($k,$v) = ($1,$2);
                        # store in array if it doesn't exist
-                       if (! grep(/^$v$/, @{$main::cache->{mem_lookup}->{$k}})) {
+                       if (! grep(/^\Q$v\E$/, @{$main::cache->{mem_lookup}->{$k}})) {
                                push @{$main::cache->{mem_lookup}->{$k}}, $v;
 #print STDERR "## mem_lookup store: $k => $v [",join("|",@{$main::cache->{mem_lookup}->{$k}}),"]\n";
                        }