Pod::Headings -- extract headings and paragraphs (and other elements) from Pod
version 0.03
my $p = Pod::Headings->new( head1 => sub ($parser, $elem, $attrs, $plaintext) { print " $elem: $plaintext\n"; $parser->{_save_head1} = $plaintext; undef $parser->{_save_head2}; $parser->{_save_first_para} = 1; 1; }, head2 => sub ($parser, $elem, $attrs, $plaintext) { print " $elem: $parser->{_save_head1}: $plaintext\n"; $parser->{_save_head2} = $plaintext; $parser->{_save_first_para} = 1; 1; }, Para => sub ($parser, $elem, $attrs, $plaintext) { print " .... text: $plaintext\n" if $parser->{_save_first_para}; $parser->{_save_first_para} = 0; 1; }, L => 1, # Return 0 to drop the plaintext passed to the containing element } );
This class is primarily of interest to persons wishing to extract headings from Pod, as when indexing the functions documented within a given Pod.
Call new() with a list of elements that your code will handle. Each element name should be followed either by a true/false value, or by a coderef which returns true/false. The truth value determines whether any plaintext contained in that element will be propagated to the containing element.
A supplied coderef will be called, at the end of handling the given element, with four arguments:
A reference to the calling parser object
The name of the element
The attributes of the element (from its opening)
The entire plaintext contained in the element
This is a subclass of Pod::Simple and inherits all its methods.
Pod::Simple
This module is managed in an open GitHub repository, https://github.com/lindleyw/Pod-Definitions. Feel free to fork and contribute, or to clone and send patches.
This module was written and is maintained by William Lindley <wlindley@cpan.org>.
To install Pod::Definitions, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Pod::Definitions
CPAN shell
perl -MCPAN -e shell install Pod::Definitions
For more information on module installation, please visit the detailed CPAN module installation guide.