Pod::Elemental(3)

NAME
Pod::Elemental - work with nestable Pod elements

VERSION
version 0.102362

SYNOPSIS
  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

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

ATTRIBUTES

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

  objectifier
The objectifier (by default a new Pod::Elemental::Objectifier) must provide an "objectify_events" method that converts Pod events into Pod::Elemental::Element objects.

  document_class
This is the class for documents created by reading pod.

METHODS

  read_handle

  read_file

  read_string
These methods read the given input and return a Pod::Elemental::Document.

AUTHOR
Ricardo SIGNES <rjbs@cpan.org>

COPYRIGHT AND LICENSE
This software is copyright (c) 2012 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.