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

NAME

WWW::OpenSearch - Search A9 OpenSearch compatible engines

SYNOPSIS

    use WWW::OpenSearch;
    
    my $url = "http://bulkfeeds.net/opensearch.xml";
    my $engine = WWW::OpenSearch->new($url);
    
    my $name = $engine->description->ShortName;
    my $tags = $engine->description->Tags;
    
    # Perform search for "iPod"
    my $response = $engine->search("iPod");
    for my $item (@{$response->feed->items}) {
        print $item->{description};
    }
    
    # Retrieve the next page of results
    my $next_page = $response->next_page;
    for my $item (@{$next_page->feed->items}) {
        print $item->{description};
    }

DESCRIPTION

WWW::OpenSearch is a module to search A9's OpenSearch compatible search engines. See http://opensearch.a9.com/ for details.

CONSTRUCTOR

new( $url )

Constructs a new instance of WWW::OpenSearch using the given URL as the location of the engine's OpenSearch Description document (retrievable via the description_url accessor).

METHODS

fetch_description( [ $url ] )

Fetches the OpenSearch Descsription found either at the given URL or at the URL specified by the description_url accessor. Fetched description may be accessed via the description accessor.

search( $query [, \%params] )

Searches the engine for the given query using the given search parameters. Valid search parameters include:

  • startPage

  • totalResults

  • startIndex

  • itemsPerPage

See http://opensearch.a9.com/spec/1.1/response/#elements for details.

do_search( $url [, $method] )

Performs a request for the given URL and returns a WWW::OpenSearch::Response object. Method defaults to 'GET'.

ACCESSORS

description_url( [$description_url] )

agent( [$agent] )

description( [$description] )

AUTHOR

Brian Cassidy <bricas@cpan.org>

Tatsuhiko Miyagawa <miyagawa@bulknews.net>

COPYRIGHT AND LICENSE

Copyright 2005-2013 by Tatsuhiko Miyagawa and Brian Cassidy

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.