All pastes #26982 Raw Edit

Miscellany

public text v1 · immutable
#26982 ·published 2005-10-29 05:47 UTC
rendered paste body
} elsif ( $msg =~ /^\?search (.+?)\s*$/ ) {
        my @query = split /\s+/, lc $1;
        if ( @query ) {
            my @result;
            local $_;
            s/\\//g for ( @query );
            for my $lookup ( keys %{$self->{"mistresswords"}} ) {
                my $add = 0;
                for my $queryword ( @query ) {
                    $add++ if "$lookup ".$self->{"mistresswords"}->{$lookup} =~ /\Q$queryword\E/i;
                }
                push @result, $lookup if $add == $#query+1;
            }
            if ( @result ) {
                $event->conn->out("NOTICE $nick :Search results for "
                                . join(" AND ",@query)
                                . " returned: "
                                . ( @result > 20 ?
                                    join(", ",@result[0 .. 19]).", ..."
                                :
                                    join(", ",@result)
                                )
                                );
            } else {
                $event->conn->out("NOTICE $nick :No results.");
            }
        }
    }