Weblog:   It's the Data, Stupid
Subject:   My "one app": plaintext that's better than plaintext
Date:   2004-05-04 19:16:18
From:   aristotle
=head1 POD, Perl's "Plain Old Documentation"

This is a I<great> format. I tend to write most stuff with it. It provides enough markup to roughly structure and format text, but not so much as to get in the way of reading it.

=head2 Formatting markup is simple

It doesn't really get in the way B<too> badly. Certainly it only rarely makes the text particularly unreadable.

=head2 Structure markup is visually helpful

As you can see, it actually provides visual landmarks. Particularly with an editor that syntax highlights POD, this is great — you can skim long texts easily.

You also have labelled, bulleted, and ordered lists at your disposal. Using C<=for> and C<=begin>/C<=end> you can insert passages of foreign markup specific to certain POD renderers, that others will ignore (f.ex, to use HTML C<img> tags or maybe insert a Postscript graphic).

=head2 Tool paradise

For simple consumption, the format is trivial enough that tools are not required, nor do you need them for editing. This is in sharp contrast with a heavyweight markup language like XML.

There is a variety of tools already available to process POD. With the tools available with any standard Perl install you can turn POD into HTML, Postscript, or LaTeX.

Making new tools for custom tasks using Perl is dead easy. Making new converters is slightly trickier, but a variety of existing POD parser modules take a lot of the burden.

=head2 Conclusion

It's just great. I love it.

I guess it confirms the rule that everyone uses only one app: for Joel Splosky that's Excel, for random HR person it's PPT, for Don Lancaster it's Postscript — and for me, it's Perl.