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 is a overhaul on the work by Andreas Borchert. I have not been able to get in touch with him so I went ahead and rebuilt the script to work with NorthernLight.

I can be flamed @ <jsmyser@bigfoot.com>

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

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

Oh what the heck, till the author comes forward I will maintain this backend. 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.2 This is my second re-write to account for lots of little annoying formatting changes.