-
-
28 Jun 2021 21:11:50 UTC
- Distribution: Pod-Simple
- Module version: 3.43
- Source (raw)
- Browse (raw)
- Changes
- Homepage
- How to Contribute
- Repository
- Issues (5)
- Testers (736 / 0 / 0)
- Kwalitee
Bus factor: 5- 72.74% Coverage
- License: perl_5
- Activity
24 month- Tools
- Download (299.2KB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
- Dependencies
- Carp
- Config
- Cwd
- File::Basename
- File::Find
- File::Spec
- Pod::Escapes
- Symbol
- Test::More
- Text::Wrap
- if
- integer
- overload
- strict
- and possibly others
- Reverse dependencies
- CPAN Testers List
- Dependency graph
NAME
Pod::Simple::SimpleTree -- parse Pod into a simple parse tree
SYNOPSIS
% cat ptest.pod =head1 PIE I like B<pie>! % perl -MPod::Simple::SimpleTree -MData::Dumper -e \ "print Dumper(Pod::Simple::SimpleTree->new->parse_file(shift)->root)" \ ptest.pod $VAR1 = [ 'Document', { 'start_line' => 1 }, [ 'head1', { 'start_line' => 1 }, 'PIE' ], [ 'Para', { 'start_line' => 3 }, 'I like ', [ 'B', {}, 'pie' ], '!' ] ];
DESCRIPTION
This class is of interest to people writing a Pod processor/formatter.
This class takes Pod and parses it, returning a parse tree made just of arrayrefs, and hashrefs, and strings.
This is a subclass of Pod::Simple and inherits all its methods.
This class is inspired by XML::Parser's "Tree" parsing-style, although it doesn't use exactly the same LoL format.
METHODS
At the end of the parse, call
$parser->root
to get the tree's top node.Tree Contents
Every element node in the parse tree is represented by an arrayref of the form:
[ elementname, \%attributes, ...subnodes... ]
. See the example tree dump in the Synopsis, above.Every text node in the tree is represented by a simple (non-ref) string scalar. So you can test
ref($node)
to see whether you have an element node or just a text node.The top node in the tree is
[ 'Document', \%attributes, ...subnodes... ]
SEE ALSO
The "Tree" subsubsection in XML::Parser
SUPPORT
Questions or discussion about POD and Pod::Simple should be sent to the pod-people@perl.org mail list. Send an empty email to pod-people-subscribe@perl.org to subscribe.
This module is managed in an open GitHub repository, https://github.com/perl-pod/pod-simple/. Feel free to fork and contribute, or to clone git://github.com/perl-pod/pod-simple.git and send patches!
Patches against Pod::Simple are welcome. Please send bug reports to <bug-pod-simple@rt.cpan.org>.
COPYRIGHT AND DISCLAIMERS
Copyright (c) 2002 Sean M. Burke.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.
AUTHOR
Pod::Simple was created by Sean M. Burke <sburke@cpan.org>. But don't bother him, he's retired.
Pod::Simple is maintained by:
Allison Randal
allison@perl.org
Hans Dieter Pearcey
hdp@cpan.org
David E. Wheeler
dwheeler@cpan.org
Module Install Instructions
To install Pod::Simple, copy and paste the appropriate command in to your terminal.
cpanm Pod::Simple
perl -MCPAN -e shell install Pod::Simple
For more information on module installation, please visit the detailed CPAN module installation guide.