Pod::Elemental(3pm) | User Contributed Perl Documentation | Pod::Elemental(3pm) |
Pod::Elemental - work with nestable Pod elements
version 0.103005
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>
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.
2020-01-25 | perl v5.30.0 |