NAME¶
Pod::Index::Search - Search for keywords in an indexed pod
SYNOPSIS¶
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');
DESCRIPTION¶
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.
METHODS¶
- new
-
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.
- search($keyword)
- Do the actual search in the index. Returns a list of search results, as
Pod::Index::Entry objects.
- subtopics($keyword, %options)
-
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.
VERSION¶
0.14
SEE ALSO¶
Pod::Index::Entry, Pod::Index::Builder
AUTHOR¶
Ivan Tubert-Brohman <itub@cpan.org>
COPYRIGHT¶
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.