Add built local::lib
[catagits/Gitalist.git] / local-lib5 / man / man3 / Pod::Text.3pm
CommitLineData
3fea05b9 1.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.3
2.\"
3.\" Standard preamble:
4.\" ========================================================================
5.de Sh \" Subsection heading
6.br
7.if t .Sp
8.ne 5
9.PP
10\fB\\$1\fR
11.PP
12..
13.de Sp \" Vertical space (when we can't use .PP)
14.if t .sp .5v
15.if n .sp
16..
17.de Vb \" Begin verbatim text
18.ft CW
19.nf
20.ne \\$1
21..
22.de Ve \" End verbatim text
23.ft R
24.fi
25..
26.\" Set up some character translations and predefined strings. \*(-- will
27.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28.\" double quote, and \*(R" will give a right double quote. | will give a
29.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
30.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
31.\" expand to `' in nroff, nothing in troff, for use with C<>.
32.tr \(*W-|\(bv\*(Tr
33.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34.ie n \{\
35. ds -- \(*W-
36. ds PI pi
37. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
39. ds L" ""
40. ds R" ""
41. ds C` ""
42. ds C' ""
43'br\}
44.el\{\
45. ds -- \|\(em\|
46. ds PI \(*p
47. ds L" ``
48. ds R" ''
49'br\}
50.\"
51.\" If the F register is turned on, we'll generate index entries on stderr for
52.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53.\" entries marked with X<> in POD. Of course, you'll have to process the
54.\" output yourself in some meaningful fashion.
55.if \nF \{\
56. de IX
57. tm Index:\\$1\t\\n%\t"\\$2"
58..
59. nr % 0
60. rr F
61.\}
62.\"
63.\" For nroff, turn off justification. Always turn off hyphenation; it makes
64.\" way too many mistakes in technical documents.
65.hy 0
66.if n .na
67.\"
68.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69.\" Fear. Run. Save yourself. No user-serviceable parts.
70. \" fudge factors for nroff and troff
71.if n \{\
72. ds #H 0
73. ds #V .8m
74. ds #F .3m
75. ds #[ \f1
76. ds #] \fP
77.\}
78.if t \{\
79. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
80. ds #V .6m
81. ds #F 0
82. ds #[ \&
83. ds #] \&
84.\}
85. \" simple accents for nroff and troff
86.if n \{\
87. ds ' \&
88. ds ` \&
89. ds ^ \&
90. ds , \&
91. ds ~ ~
92. ds /
93.\}
94.if t \{\
95. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
101.\}
102. \" troff and (daisy-wheel) nroff accents
103.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110.ds ae a\h'-(\w'a'u*4/10)'e
111.ds Ae A\h'-(\w'A'u*4/10)'E
112. \" corrections for vroff
113.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115. \" for low resolution devices (crt and lpr)
116.if \n(.H>23 .if \n(.V>19 \
117\{\
118. ds : e
119. ds 8 ss
120. ds o a
121. ds d- d\h'-1'\(ga
122. ds D- D\h'-1'\(hy
123. ds th \o'bp'
124. ds Th \o'LP'
125. ds ae ae
126. ds Ae AE
127.\}
128.rm #[ #] #H #V #F C
129.\" ========================================================================
130.\"
131.IX Title "Pod::Text 3"
132.TH Pod::Text 3 "2009-01-18" "perl v5.8.7" "User Contributed Perl Documentation"
133.SH "NAME"
134Pod::Text \- Convert POD data to formatted ASCII text
135.SH "SYNOPSIS"
136.IX Header "SYNOPSIS"
137.Vb 2
138\& use Pod::Text;
139\& my $parser = Pod::Text\->new (sentence => 0, width => 78);
140.Ve
141.PP
142.Vb 2
143\& # Read POD from STDIN and write to STDOUT.
144\& $parser\->parse_from_filehandle;
145.Ve
146.PP
147.Vb 2
148\& # Read POD from file.pod and write to file.txt.
149\& $parser\->parse_from_file ('file.pod', 'file.txt');
150.Ve
151.SH "DESCRIPTION"
152.IX Header "DESCRIPTION"
153Pod::Text is a module that can convert documentation in the \s-1POD\s0 format (the
154preferred language for documenting Perl) into formatted \s-1ASCII\s0. It uses no
155special formatting controls or codes whatsoever, and its output is therefore
156suitable for nearly any device.
157.PP
158As a derived class from Pod::Simple, Pod::Text supports the same methods and
159interfaces. See Pod::Simple for all the details; briefly, one creates a
160new parser with \f(CW\*(C`Pod::Text\->new()\*(C'\fR and then normally calls \fIparse_file()\fR.
161.PP
162\&\fInew()\fR can take options, in the form of key/value pairs, that control the
163behavior of the parser. The currently recognized options are:
164.IP "alt" 4
165.IX Item "alt"
166If set to a true value, selects an alternate output format that, among other
167things, uses a different heading style and marks \f(CW\*(C`=item\*(C'\fR entries with a
168colon in the left margin. Defaults to false.
169.IP "code" 4
170.IX Item "code"
171If set to a true value, the non-POD parts of the input file will be included
172in the output. Useful for viewing code documented with \s-1POD\s0 blocks with the
173\&\s-1POD\s0 rendered and the code left intact.
174.IP "indent" 4
175.IX Item "indent"
176The number of spaces to indent regular text, and the default indentation for
177\&\f(CW\*(C`=over\*(C'\fR blocks. Defaults to 4.
178.IP "loose" 4
179.IX Item "loose"
180If set to a true value, a blank line is printed after a \f(CW\*(C`=head1\*(C'\fR heading.
181If set to false (the default), no blank line is printed after \f(CW\*(C`=head1\*(C'\fR,
182although one is still printed after \f(CW\*(C`=head2\*(C'\fR. This is the default because
183it's the expected formatting for manual pages; if you're formatting
184arbitrary text documents, setting this to true may result in more pleasing
185output.
186.IP "margin" 4
187.IX Item "margin"
188The width of the left margin in spaces. Defaults to 0. This is the margin
189for all text, including headings, not the amount by which regular text is
190indented; for the latter, see the \fIindent\fR option. To set the right
191margin, see the \fIwidth\fR option.
192.IP "quotes" 4
193.IX Item "quotes"
194Sets the quote marks used to surround C<> text. If the value is a
195single character, it is used as both the left and right quote; if it is two
196characters, the first character is used as the left quote and the second as
197the right quoted; and if it is four characters, the first two are used as
198the left quote and the second two as the right quote.
199.Sp
200This may also be set to the special value \f(CW\*(C`none\*(C'\fR, in which case no quote
201marks are added around C<> text.
202.IP "sentence" 4
203.IX Item "sentence"
204If set to a true value, Pod::Text will assume that each sentence ends in two
205spaces, and will try to preserve that spacing. If set to false, all
206consecutive whitespace in non-verbatim paragraphs is compressed into a
207single space. Defaults to true.
208.IP "stderr" 4
209.IX Item "stderr"
210Send error messages about invalid \s-1POD\s0 to standard error instead of
211appending a \s-1POD\s0 \s-1ERRORS\s0 section to the generated output.
212.IP "utf8" 4
213.IX Item "utf8"
214By default, Pod::Text uses the same output encoding as the input encoding
215of the \s-1POD\s0 source (provided that Perl was built with PerlIO; otherwise, it
216doesn't encode its output). If this option is given, the output encoding
217is forced to \s-1UTF\-8\s0.
218.Sp
219Be aware that, when using this option, the input encoding of your \s-1POD\s0
220source must be properly declared unless it is US-ASCII or Latin\-1. \s-1POD\s0
221input without an \f(CW\*(C`=encoding\*(C'\fR command will be assumed to be in Latin\-1,
222and if it's actually in \s-1UTF\-8\s0, the output will be double\-encoded. See
223\&\fIperlpod\fR\|(1) for more information on the \f(CW\*(C`=encoding\*(C'\fR command.
224.IP "width" 4
225.IX Item "width"
226The column at which to wrap text on the right-hand side. Defaults to 76.
227.PP
228The standard Pod::Simple method \fIparse_file()\fR takes one argument, the file or
229file handle to read from, and writes output to standard output unless that
230has been changed with the \fIoutput_fh()\fR method. See Pod::Simple for the
231specific details and for other alternative interfaces.
232.SH "DIAGNOSTICS"
233.IX Header "DIAGNOSTICS"
234.IP "Bizarre space in item" 4
235.IX Item "Bizarre space in item"
236.PD 0
237.IP "Item called without tag" 4
238.IX Item "Item called without tag"
239.PD
240(W) Something has gone wrong in internal \f(CW\*(C`=item\*(C'\fR processing. These
241messages indicate a bug in Pod::Text; you should never see them.
242.ie n .IP "Can't open %s\fR for reading: \f(CW%s" 4
243.el .IP "Can't open \f(CW%s\fR for reading: \f(CW%s\fR" 4
244.IX Item "Can't open %s for reading: %s"
245(F) Pod::Text was invoked via the compatibility mode \fIpod2text()\fR interface
246and the input file it was given could not be opened.
247.ie n .IP "Invalid quote specification ""%s""" 4
248.el .IP "Invalid quote specification ``%s''" 4
249.IX Item "Invalid quote specification %s"
250(F) The quote specification given (the quotes option to the constructor) was
251invalid. A quote specification must be one, two, or four characters long.
252.SH "BUGS"
253.IX Header "BUGS"
254Encoding handling assumes that PerlIO is available and does not work
255properly if it isn't. The \f(CW\*(C`utf8\*(C'\fR option is therefore not supported
256unless Perl is built with PerlIO support.
257.SH "CAVEATS"
258.IX Header "CAVEATS"
259If Pod::Text is given the \f(CW\*(C`utf8\*(C'\fR option, the encoding of its output file
260handle will be forced to \s-1UTF\-8\s0 if possible, overriding any existing
261encoding. This will be done even if the file handle is not created by
262Pod::Text and was passed in from outside. This maintains consistency
263regardless of \s-1PERL_UNICODE\s0 and other settings.
264.PP
265If the \f(CW\*(C`utf8\*(C'\fR option is not given, the encoding of its output file handle
266will be forced to the detected encoding of the input \s-1POD\s0, which preserves
267whatever the input text is. This ensures backward compatibility with
268earlier, pre-Unicode versions of this module, without large numbers of
269Perl warnings.
270.PP
271This is not ideal, but it seems to be the best compromise. If it doesn't
272work for you, please let me know the details of how it broke.
273.SH "NOTES"
274.IX Header "NOTES"
275This is a replacement for an earlier Pod::Text module written by Tom
276Christiansen. It has a revamped interface, since it now uses Pod::Simple,
277but an interface roughly compatible with the old \fIPod::Text::pod2text()\fR
278function is still available. Please change to the new calling convention,
279though.
280.PP
281The original Pod::Text contained code to do formatting via termcap
282sequences, although it wasn't turned on by default and it was problematic to
283get it to work at all. This rewrite doesn't even try to do that, but a
284subclass of it does. Look for Pod::Text::Termcap.
285.SH "SEE ALSO"
286.IX Header "SEE ALSO"
287Pod::Simple, Pod::Text::Termcap, \fIperlpod\fR\|(1), \fIpod2text\fR\|(1)
288.PP
289The current version of this module is always available from its web site at
290<http://www.eyrie.org/~eagle/software/podlators/>. It is also part of the
291Perl core distribution as of 5.6.0.
292.SH "AUTHOR"
293.IX Header "AUTHOR"
294Russ Allbery <rra@stanford.edu>, based \fIvery\fR heavily on the original
295Pod::Text by Tom Christiansen <tchrist@mox.perl.com> and its conversion to
296Pod::Parser by Brad Appleton <bradapp@enteract.com>. Sean Burke's initial
297conversion of Pod::Man to use Pod::Simple provided much-needed guidance on
298how to use Pod::Simple.
299.SH "COPYRIGHT AND LICENSE"
300.IX Header "COPYRIGHT AND LICENSE"
301Copyright 1999, 2000, 2001, 2002, 2004, 2006, 2008 Russ Allbery
302<rra@stanford.edu>.
303.PP
304This program is free software; you may redistribute it and/or modify it
305under the same terms as Perl itself.