DOKK / manpages / debian 10 / libpod-index-perl / Pod::Index::Search.3pm.en
Pod::Index::Search(3pm) User Contributed Perl Documentation Pod::Index::Search(3pm)

Pod::Index::Search - Search for keywords in an indexed pod

    use Pod::Index::Search;
    my $q = Pod::Index::Search->new;
    my @results = $q->search('getprotobyname');
    for my $r (@results) {
        printf "%s\t%s\n", $r->podname, $r->line;
        print $r->pod;
    }
    my @subtopics = $q->subtopics('operator');

This module searches an index created by Pod::Index::Builder. Search results are returned as Pod::Index::Entry objects.

It is also possible to search for subtopics for a keyword. For example, a search for "operator" might return things like

    operator, conditional
    operator, filetest
    operator, logical
    operator, precedence
    operator, relational

The subtopics returned are simple strings.

    my $q = Pod::Index::Search->new(%args);
    

Create a new search object. Possible arguments are:

"fh"
The filehandle of the index to use. If omitted, "perlindex::DATA" is used.
"filename"
The filename of the index to use. Note that you can specify either "fh" or filename, but not both.
"filemap"
A subroutine reference that takes a podname and returns a filename. A simple example might be:

    sub {
        my $podname = shift;
        return "/usr/lib/perl5/5.8.7/pod/$podname.pod";
    }
    

The podname is in colon-delimited Perl package syntax.

The default "filemap" returns the first file in @INC that seems to have the proper documentation (either a .pod or .pm file).

"nocase"
If true, the search will be case-insensitive.
Do the actual search in the index. Returns a list of search results, as Pod::Index::Entry objects.
    my @topics = $q->subtopics('operator');
    my @topics = $q->subtopics('operator', deep => 1);
    

Lists the subtopics for a given keyword. If "deep" is given, it includes all subtopics; otherwise, only the first level of subtopics is included.

0.14

Pod::Index::Entry, Pod::Index::Builder

Ivan Tubert-Brohman <itub@cpan.org>

Copyright (c) 2005 Ivan Tubert-Brohman. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

2016-09-18 perl v5.22.2