The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

WWW::Search::NorthernLight - class for searching NorthernLight

SYNOPSIS

use WWW::Search;
my $oSearch = new WWW::Search('NorthernLight');
my $sQuery = WWW::Search::escape_query("+sushi restaurant +Columbus Ohio");
$oSearch->native_query($sQuery);
while (my $oResult = $oSearch->next_result()) {
    print $oResult->url, "\n";
}
=head1 DESCRIPTION

This class is a NorthernLight specialization of WWW::Search. It handles making and interpreting NorthernLight searches http://www.northernlight.com.

Northern Light supports full Boolean capability (AND, OR, NOT), including parenthetical "expressions", in all searches. There is no limit to the level of nesting which you can use in a query.

This class exports no public interface; all interaction should be done through WWW::Search objects.

SEE ALSO

To make new back-ends, see WWW::Search.

HOW DOES IT WORK?

native_setup_search is called (from WWW::Search::setup_search) before we do anything. It initializes our private variables (which all begin with underscore) and sets up a URL to the first results page in {_next_url}.

native_retrieve_some is called (from WWW::Search::retrieve_some) whenever more hits are needed. It calls WWW::Search::http_request to fetch the page specified by {_next_url}. It then parses this page, appending any search hits it finds to {cache}. If it finds a ``next'' button in the text, it sets {_next_url} to point to the page for the next set of results, otherwise it sets it to undef to indicate we''re done.

BUGS

You bet! Although I think I have pointed them all out to NL so there shouldn't now be any.

TESTING

This module adheres to the WWW::Search test suite mechanism.

 Test cases:
'+mrfglbqnx +NoSuchWord'          ---   no hits
'+LSAM +replication'              ---   13 hits on one page
'+Jabba +bounty +hunter +Greedo'  ---  138 hits on two pages

AUTHOR This Backend will now be maintained and supported by Jim Smyser.

Flames to: <jsmyser@bigfoot.com>

WWW::Search::NorthernLight was originally written by Andreas Borchert based on WWW::Search::Excite.

LEGALESE

THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

VERSION HISTORY 1.03 Slight format change by NL that was making next page hits flakey corrected. Misc. code clean up.