Added input Spot filtering
[spider.git] / perl / Filter.pm
index 59ace8af8edb2986827d2258760644eac290ee02..fbdb4f300fb579162fa34708504bac792f59a1a9 100644 (file)
@@ -271,12 +271,11 @@ sub install
        my $remove = shift;
        my $name = uc $self->{name};
        my $sort = $self->{sort};
-       my ($in) = $name =~ s/^IN_//;
+       my $in = "in" if $name =~ s/^IN_//;
        $name =~ s/.PL$//;
                
        my $dxchan = DXChannel->get($name);
        if ($dxchan) {
-               $in = lc $in if $in;
                my $n = "$in$sort" . "filter";
                $dxchan->$n($remove ? undef : $self);
        }
@@ -456,6 +455,13 @@ sub parse
                                                                push @t, "(\$r->[$fref->[2]]>=$1 && \$r->[$fref->[2]]<=$2)";
                                                        }
                                                        $s .= "(" . join(' || ', @t) . ")";
+                                               } elsif ($fref->[1] eq 't') {
+                                                       my @t;
+                                                       for (@val) {
+                                                               s/\*//g;
+                                                               push @t, "\$r->[$fref->[2]]=~/$_/i";
+                                                       }
+                                                       $s .= "(" . join(' || ', @t) . ")";
                                                } else {
                                                        confess("invalid letter $fref->[1]");
                                                }