The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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

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.

TESTING

This module adheres to the WWW::Search test suite mechanism. See $TEST_CASES below.

AUTHOR

This Backend is 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

2.01 typo and new test mechanism

1.06 Slight reformat change.

1.05 Fixed 'next' page tag recognition, this changed slightly. Whitespace removal in description that was really BAD with some hits. Ignoring internal NorthernLight URL's.

1.04 Slight adjustments to formatting. Returning score and date with description.

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