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.");
}
}
}