use strict;
use vars qw(@W3Search_engines $W3Search_regex);
@W3Search_engines = qw(AltaVista Dejanews Excite Gopher HotBot Infoseek
- Lycos Magellan PLweb SFgate Simple Verity Google z);
+ Lycos Magellan PLweb SFgate Simple Verity Google);
$W3Search_regex = join '|', @W3Search_engines;
my $maxshow = 5;
return unless &::loadPerlModule("WWW::Search");
eval {
- $Search = new WWW::Search($where, agent_name => 'Mozilla/4.5');
- };
-
- if (!defined $Search) {
- &::msg($::who, "$where is invalid search.");
- return;
- }
-
- my $Query = WWW::Search::escape_query($what);
- $Search->native_query($Query,
- {
- num => 10,
-# search_debug => 2,
-# search_parse_debug => 2,
+ if ($where eq 'Google') {
+ # key is your Google API key.
+ # Get it from http://api.google.com/createkey
+ $Search = new WWW::Search('Google',key => '')
+ }
+ else {
+ $Search = new WWW::Search($where);
}
- );
- $Search->http_proxy($::param{'httpProxy'}) if (&::IsParam("httpProxy"));
- #my $max = $Search->maximum_to_retrieve(10); # DOES NOT WORK.
+ if (!defined $Search) {
+ &::msg($::who, "$where is invalid search.");
+ return;
+ }
+
+ my $Query = WWW::Search::escape_query($what);
+ $Search->native_query($Query,{ num => 10,
+ search_debug => 2,
+ search_parse_debug => 2,
+ }
+ );
+ $Search->http_proxy($::param{'httpProxy'}) if (&::IsParam("httpProxy"));
+ #my $max = $Search->maximum_to_retrieve(10); # DOES NOT WORK.
- my (@results, $count, $r);
+ my (@results, $count, $r);
+ $count=0;
$retval = "$where says \002$what\002 is at ";
- while ($r = $Search->next_result()) {
- my $url = $r->url();
- $retval .= ' or ' if ($count > 0);
- $retval .= $url;
- last if ++$count >= $maxshow;
+ while ($r = $Search->next_result()) {
+ my $url = $r->url();
+ $retval .= ' or ' if ($count > 0);
+ $retval .= $url;
+ last if ++$count >= $maxshow;
+ }
+
+ $retval = "$where was unable to find any results for \002$what\002" unless $count > 0;
+
+ &::performStrictReply($retval);
}
-
- &::performStrictReply($retval);
-}
-
+}
1;
+