source: trunk/essentials/dev-lang/perl/pod/perlpod.pod@ 3439

Last change on this file since 3439 was 3181, checked in by bird, 19 years ago

perl 5.8.8

File size: 21.1 KB
Line 
1
2=for comment
3This document is in Pod format. To read this, use a Pod formatter,
4like "perldoc perlpod".
5
6=head1 NAME
7X<POD> X<plain old documentation>
8
9perlpod - the Plain Old Documentation format
10
11=head1 DESCRIPTION
12
13Pod is a simple-to-use markup language used for writing documentation
14for Perl, Perl programs, and Perl modules.
15
16Translators are available for converting Pod to various formats
17like plain text, HTML, man pages, and more.
18
19Pod markup consists of three basic kinds of paragraphs:
20L<ordinary|/"Ordinary Paragraph">,
21L<verbatim|/"Verbatim Paragraph">, and
22L<command|/"Command Paragraph">.
23
24
25=head2 Ordinary Paragraph
26X<POD, ordinary paragraph>
27
28Most paragraphs in your documentation will be ordinary blocks
29of text, like this one. You can simply type in your text without
30any markup whatsoever, and with just a blank line before and
31after. When it gets formatted, it will undergo minimal formatting,
32like being rewrapped, probably put into a proportionally spaced
33font, and maybe even justified.
34
35You can use formatting codes in ordinary paragraphs, for B<bold>,
36I<italic>, C<code-style>, L<hyperlinks|perlfaq>, and more. Such
37codes are explained in the "L<Formatting Codes|/"Formatting Codes">"
38section, below.
39
40
41=head2 Verbatim Paragraph
42X<POD, verbatim paragraph> X<verbatim>
43
44Verbatim paragraphs are usually used for presenting a codeblock or
45other text which does not require any special parsing or formatting,
46and which shouldn't be wrapped.
47
48A verbatim paragraph is distinguished by having its first character
49be a space or a tab. (And commonly, all its lines begin with spaces
50and/or tabs.) It should be reproduced exactly, with tabs assumed to
51be on 8-column boundaries. There are no special formatting codes,
52so you can't italicize or anything like that. A \ means \, and
53nothing else.
54
55
56=head2 Command Paragraph
57X<POD, command>
58
59A command paragraph is used for special treatment of whole chunks
60of text, usually as headings or parts of lists.
61
62All command paragraphs (which are typically only one line long) start
63with "=", followed by an identifier, followed by arbitrary text that
64the command can use however it pleases. Currently recognized commands
65are
66
67 =pod
68 =head1 Heading Text
69 =head2 Heading Text
70 =head3 Heading Text
71 =head4 Heading Text
72 =over indentlevel
73 =item stuff
74 =back
75 =begin format
76 =end format
77 =for format text...
78 =encoding type
79 =cut
80
81To explain them each in detail:
82
83=over
84
85=item C<=head1 I<Heading Text>>
86X<=head1> X<=head2> X<=head3> X<=head4>
87X<head1> X<head2> X<head3> X<head4>
88
89=item C<=head2 I<Heading Text>>
90
91=item C<=head3 I<Heading Text>>
92
93=item C<=head4 I<Heading Text>>
94
95Head1 through head4 produce headings, head1 being the highest
96level. The text in the rest of this paragraph is the content of the
97heading. For example:
98
99 =head2 Object Attributes
100
101The text "Object Attributes" comprises the heading there. (Note that
102head3 and head4 are recent additions, not supported in older Pod
103translators.) The text in these heading commands can use
104formatting codes, as seen here:
105
106 =head2 Possible Values for C<$/>
107
108Such commands are explained in the
109"L<Formatting Codes|/"Formatting Codes">" section, below.
110
111=item C<=over I<indentlevel>>
112X<=over> X<=item> X<=back> X<over> X<item> X<back>
113
114=item C<=item I<stuff...>>
115
116=item C<=back>
117
118Item, over, and back require a little more explanation: "=over" starts
119a region specifically for the generation of a list using "=item"
120commands, or for indenting (groups of) normal paragraphs. At the end
121of your list, use "=back" to end it. The I<indentlevel> option to
122"=over" indicates how far over to indent, generally in ems (where
123one em is the width of an "M" in the document's base font) or roughly
124comparable units; if there is no I<indentlevel> option, it defaults
125to four. (And some formatters may just ignore whatever I<indentlevel>
126you provide.) In the I<stuff> in C<=item I<stuff...>>, you may
127use formatting codes, as seen here:
128
129 =item Using C<$|> to Control Buffering
130
131Such commands are explained in the