1Pod::Elemental(3) User Contributed Perl Documentation Pod::Elemental(3)
2
3
4
6 Pod::Elemental - work with nestable Pod elements
7
9 version 0.103005
10
12 use Pod::Elemental;
13 use Pod::Elemental::Transformer::Pod5;
14
15 my $document = Pod::Elemental->read_file('lib/Pod/Elemental.pm');
16
17 Pod::Elemental::Transformer::Pod5->new->transform_node($document);
18
19 print $document->as_debug_string, "\n"; # quick overview of doc structure
20
21 print $document->as_pod_string, "\n"; # reproduce the document in Pod
22
24 Pod::Elemental is a system for treating a Pod (plain old documentation)
25 documents as trees of elements. This model may be familiar from many
26 other document systems, especially the HTML DOM. Pod::Elemental's
27 document object model is much less sophisticated than the HTML DOM, but
28 still makes a lot of document transformations easy.
29
30 In general, you'll want to read in a Pod document and then perform a
31 number of prepackaged transformations on it. The most common of these
32 will be the Pod5 transformation, which assumes that the basic meaning
33 of Pod commands described in the Perl 5 documentation hold: "=begin",
34 "=end", and "=for" commands mark regions of the document, leading
35 whitespace marks a verbatim paragraph, and so on. The Pod5 transformer
36 also eliminates the need to track elements representing vertical
37 whitespace.
38
40 event_reader
41 The event reader (by default a new instance of Pod::Eventual::Simple is
42 used to convert input into an event stream. In general, it should
43 provide "read_*" methods that behave like Pod::Eventual::Simple.
44
45 objectifier
46 The objectifier (by default a new Pod::Elemental::Objectifier) must
47 provide an "objectify_events" method that converts Pod events into
48 Pod::Elemental::Element objects.
49
50 document_class
51 This is the class for documents created by reading pod.
52
54 read_handle
55 read_file
56 read_string
57 These methods read the given input and return a
58 Pod::Elemental::Document.
59
61 Ricardo SIGNES <rjbs@cpan.org>
62
64 · Christian Walde <walde.christian@googlemail.com>
65
66 · Justin Cook <jcook@cray.com>
67
68 · Karen Etheridge <ether@cpan.org>
69
70 · Philippe Bruhat (BooK) <book@cpan.org>
71
73 This software is copyright (c) 2020 by Ricardo SIGNES.
74
75 This is free software; you can redistribute it and/or modify it under
76 the same terms as the Perl 5 programming language system itself.
77
78
79
80perl v5.30.1 2020-01-30 Pod::Elemental(3)