DOKK / manpages / debian 11 / libpod-elemental-perl / Pod::Elemental.3pm.en
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>

  • 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.

2020-01-25 perl v5.30.0