Pod::Elemental - work with nestable Pod elements
use Pod::Elemental;
use Pod::Elemental::Transformer::Pod5;
my $document = Pod::Elemental->read_file('lib/Pod/Elemental.pm');
Pod::Elemental::Transformer::Pod5->new->transform_node($document);
print $document->as_debug_string, "\n"; # quick overview of doc structure
print $document->as_pod_string, "\n"; # reproduce the document in Pod
Pod::Elemental is a system for treating a Pod (plain old documentation)
documents as trees of elements. This model may be familiar from many other
document systems, especially the HTML DOM. Pod::Elemental's document object
model is much less sophisticated than the HTML DOM, but still makes a lot of
document transformations easy.
In general, you'll want to read in a Pod document and then perform
a number of prepackaged transformations on it. The most common of these will
be the Pod5 transformation, which assumes that the basic meaning of Pod
commands described in the Perl 5 documentation hold:
"=begin",
"=end", and
"=for" commands mark regions of the
document, leading whitespace marks a verbatim paragraph, and so on. The Pod5
transformer also eliminates the need to track elements representing vertical
whitespace.
The event reader (by default a new instance of Pod::Eventual::Simple is used to
convert input into an event stream. In general, it should provide
"read_*" methods that behave like
Pod::Eventual::Simple.
The objectifier (by default a new Pod::Elemental::Objectifier) must provide an
"objectify_events" method that converts Pod
events into Pod::Elemental::Element objects.
This is the class for documents created by reading pod.
These methods read the given input and return a Pod::Elemental::Document.
Ricardo SIGNES <rjbs@cpan.org>
- Christian Walde <walde.christian@googlemail.com>
- Justin Cook <jcook@cray.com>
- Karen Etheridge <ether@cpan.org>
- Philippe Bruhat (BooK) <book@cpan.org>
This software is copyright (c) 2020 by Ricardo SIGNES.
This is free software; you can redistribute it and/or modify it
under the same terms as the Perl 5 programming language system itself.