POD is the Plain Old Documentation format, the documentation language used
for all of Perl's documentation. I learned it to document Perl modules,
started using it for Perl scripts as well, and discovered it was the most
convenient way I've found to write program documentation. It's extremely
simple, well-designed for writing Unix manual pages (and I'm a
traditionalist who thinks that any program should have a regular manual
page), and easily readable in the raw format by humans.
The translators into text and nroff (for manual pages) included in the
Perl distribution had various bugs, however, and used their own ad hoc
parsers, so when I started running into those bugs and when a new generic
parser (Pod::Parser) was written, I decided to rewrite the two translators
that I use the most and fix the bugs that were bothering me. This package
is the result.
podlators contains two main modules, Pod::Man and Pod::Text. The former
converts POD into nroff/troff source and the latter into plain text (with
various options controlling some of the formatting). There are also
several subclasses of Pod::Text for generating slightly formatted text
using color or other terminal control escapes, and a general utility
module, Pod::ParseLink, for parsing the POD `L<>` formatting sequences.
Also included in this package are the `pod2text` and `pod2man` driver
scripts.
Both Pod::Text and Pod::Man provide a variety of options for fine-tuning
their output. Pod::Man also tries to massage input text where appropriate
to produce better output when run through nroff or troff, such as
distinguishing between different types of hyphens and using slightly
smaller case for acronyms.
As of Perl 5.6.0, my implementation was included in Perl core, and each
release of Perl will have the at-the-time most current version of
podlators included. You therefore only need to install this package
yourself if you have an old version of Perl or need a newer version than
came with Perl (to get some bug fixes, for example).