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;
Pod::Escapes
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::Tree
Pod::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
loaded
load_
* methods has been called on $tree.
get_root
set_root
($node)push
(@nodes)pop
walk
(\&sub)walk
descends to the children and siblings of $node iff
sub() returns true.
has_pod
dump
Pod::Tree
interpreted your POD.
These options may be passed in the %options hash to the load_
* methods.
in_pod => 0
in_pod => 1
in_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 |