|
Pod::Tree - Create a static syntax tree for a POD |
Pod::Tree - Create a static syntax tree for a POD
use Pod::Tree;
$tree = new Pod::Tree; $tree->load_file ( $file, %options) $tree->load_fh ( $fh , %options); $tree->load_string ( $pod , %options); $tree->load_paragraphs(\@pod , %options);
$loaded = $tree->loaded;
$node = $tree->get_root;
$tree->set_root ($node);
$node = $tree->pop;
$tree->push(@nodes);
$tree->walk(\&sub);
$tree->has_pod and ...
print $tree->dump;
Perl 5.6.0, Exporter, IO::File, Pod::Tree::Node
Nothing
Pod::Tree parses a POD into a static syntax tree.
Applications walk the tree to recover the structure and content of the POD.
See Pod::Tree::Node for a description of the tree.
new Pod::TreePod::Tree object.
The syntax tree is initially empty.
load_file($file, %options)See OPTIONS for a description of %options
load_fh($fh, %options)IO::File object that is open on a file containing the POD.
See OPTIONS for a description of %options
load_string($pod, %options)See OPTIONS for a description of %options
load_paragraphs(\@pod, %options)See OPTIONS for a description of %options
loadedload_* methods has been called on $tree.
get_rootset_root($node)push(@nodes)popwalk(\&sub)walk descends to the children and siblings of $node iff
sub() returns true.
has_poddumpPod::Tree interpreted your POD.
These options may be passed in the %options hash to the load_* methods.
in_pod => 0in_pod => 1in_pod.
When in_pod is false,
the parser ignores all text until the next =command paragraph.
The initial value of in_pod
defaults to false for load_file() and load_fh() calls
and true for load_string() and load_paragraphs() calls.
This is usually what you want, unless you want consistency.
If this isn't what you want,
pass different initial values in the %options hash.
limit => n
load_file($file)
Currently, Pod::Tree does not provide a complete, exact
representation of its input. For example, it doesn't distingish
between
C<$foo-E<gt>bar>
and
C<< $foo->bar >>
As a result, it is not guaranteed that a file can be
exactly reconstructed from its Pod::Tree representation.
In the documentation of the
L<"sec"> section in this manual page
markup, perlpod has always claimed
(the quotes are optional)
However, there is no way to decide from the syntax alone whether
L<foo>
is a link to the foo man page or
a link to the foo section of this man page.
Pod::Tree parses L<foo> as a link to a section if
foo looks like a section name (e.g. contains whitespace),
and as a link to a man page otherswise.
In practice, this tends to break links to sections.
If you want your section links to work reliably,
write them as L<"foo"> or L</foo>.
perl(1), Pod::Tree::Node, Pod::Tree::HTML
Steven McDougall <swmcd@world.std.com>
Copyright (c) 1999-2004 by Steven McDougall. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
|
Pod::Tree - Create a static syntax tree for a POD |