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 \*(L"operator\*(R" 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:
The filehandle of the index to use. If omitted, \*(C`perlindex::DATA\*(C' is used. The filename of the index to use. Note that you can specify either \*(C`fh\*(C' or filename, but not both. 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 \*(C`filemap\*(C' returns the first file in @INC that seems to have the proper documentation (either a .pod or .pm file). 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 \*(C`deep\*(C' 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 <[email protected]>
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.