1Pod::Man(3) User Contributed Perl Documentation Pod::Man(3)
2
3
4
6 Pod::Man - Convert POD data to formatted *roff input
7
9 use Pod::Man;
10 my $parser = Pod::Man->new (release => $VERSION, section => 8);
11
12 # Read POD from STDIN and write to STDOUT.
13 $parser->parse_file (\*STDIN);
14
15 # Read POD from file.pod and write to file.1.
16 $parser->parse_from_file ('file.pod', 'file.1');
17
19 Pod::Man is a module to convert documentation in the POD format (the
20 preferred language for documenting Perl) into *roff input using the man
21 macro set. The resulting *roff code is suitable for display on a
22 terminal using nroff(1), normally via man(1), or printing using
23 troff(1). It is conventionally invoked using the driver script
24 pod2man, but it can also be used directly.
25
26 By default (on non-EBCDIC systems), Pod::Man outputs UTF-8. Its output
27 should work with the man program on systems that use groff (most Linux
28 distributions) or mandoc (most BSD variants), but may result in mangled
29 output on older UNIX systems. To choose a different, possibly more
30 backward-compatible output mangling on such systems, set the "encoding"
31 option to "roff" (the default in earlier Pod::Man versions). See the
32 "encoding" option and "ENCODING" for more details.
33
34 See "COMPATIBILTY" for the versions of Pod::Man with significant
35 backward-incompatible changes (other than constructor options, whose
36 versions are documented below), and the versions of Perl that included
37 them.
38
40 new(ARGS)
41 Create a new Pod::Man object. ARGS should be a list of key/value
42 pairs, where the keys are chosen from the following. Each option
43 is annotated with the version of Pod::Man in which that option was
44 added with its current meaning.
45
46 center
47 [1.00] Sets the centered page header for the ".TH" macro. The
48 default, if this option is not specified, is "User Contributed
49 Perl Documentation".
50
51 date
52 [4.00] Sets the left-hand footer for the ".TH" macro. If this
53 option is not set, the contents of the environment variable
54 POD_MAN_DATE, if set, will be used. Failing that, the value of
55 SOURCE_DATE_EPOCH, the modification date of the input file, or
56 the current time if stat() can't find that file (which will be
57 the case if the input is from "STDIN") will be used. If taken
58 from any source other than POD_MAN_DATE (which is used
59 verbatim), the date will be formatted as "YYYY-MM-DD" and will
60 be based on UTC (so that the output will be reproducible
61 regardless of local time zone).
62
63 encoding
64 [5.00] Specifies the encoding of the output. The value must be
65 an encoding recognized by the Encode module (see
66 Encode::Supported), or the special values "roff" or "groff".
67 The default on non-EBCDIC systems is UTF-8.
68
69 If the output contains characters that cannot be represented in
70 this encoding, that is an error that will be reported as
71 configured by the "errors" option. If error handling is other
72 than "die", the unrepresentable character will be replaced with
73 the Encode substitution character (normally "?").
74
75 If the "encoding" option is set to the special value "groff"
76 (the default on EBCDIC systems), or if the Encode module is not
77 available and the encoding is set to anything other than
78 "roff", Pod::Man will translate all non-ASCII characters to
79 "\[uNNNN]" Unicode escapes. These are not traditionally part
80 of the *roff language, but are supported by groff and mandoc
81 and thus by the majority of manual page processors in use
82 today.
83
84 If the "encoding" option is set to the special value "roff",
85 Pod::Man will do its historic transformation of (some) ISO
86 8859-1 characters into *roff escapes that may be adequate in
87 troff and may be readable (if ugly) in nroff. This was the
88 default behavior of versions of Pod::Man before 5.00. With
89 this encoding, all other non-ASCII characters will be replaced
90 with "X". It may be required for very old troff and nroff
91 implementations that do not support UTF-8, but its
92 representation of any non-ASCII character is very poor and
93 often specific to European languages.
94
95 If the output file handle has a PerlIO encoding layer set,
96 setting "encoding" to anything other than "groff" or "roff"
97 will be ignored and no encoding will be done by Pod::Man. It
98 will instead rely on the encoding layer to make whatever output
99 encoding transformations are desired.
100
101 WARNING: The input encoding of the POD source is independent
102 from the output encoding, and setting this option does not
103 affect the interpretation of the POD input. Unless your POD
104 source is US-ASCII, its encoding should be declared with the
105 "=encoding" command in the source. If this is not done,
106 Pod::Simple will will attempt to guess the encoding and may be
107 successful if it's Latin-1 or UTF-8, but it will produce
108 warnings. See perlpod(1) for more information.
109
110 errors
111 [2.27] How to report errors. "die" says to throw an exception
112 on any POD formatting error. "stderr" says to report errors on
113 standard error, but not to throw an exception. "pod" says to
114 include a POD ERRORS section in the resulting documentation
115 summarizing the errors. "none" ignores POD errors entirely, as
116 much as possible.
117
118 The default is "pod".
119
120 fixed
121 [1.00] The fixed-width font to use for verbatim text and code.
122 Defaults to "CW". Some systems prefer "CR" instead. Only
123 matters for troff output.
124
125 fixedbold
126 [1.00] Bold version of the fixed-width font. Defaults to "CB".
127 Only matters for troff output.
128
129 fixeditalic
130 [1.00] Italic version of the fixed-width font (something of a
131 misnomer, since most fixed-width fonts only have an oblique
132 version, not an italic version). Defaults to "CI". Only
133 matters for troff output.
134
135 fixedbolditalic
136 [1.00] Bold italic (in theory, probably oblique in practice)
137 version of the fixed-width font. Pod::Man doesn't assume you
138 have this, and defaults to "CB". Some systems (such as
139 Solaris) have this font available as "CX". Only matters for
140 troff output.
141
142 guesswork
143 [5.00] By default, Pod::Man applies some default formatting
144 rules based on guesswork and regular expressions that are
145 intended to make writing Perl documentation easier and require
146 less explicit markup. These rules may not always be
147 appropriate, particularly for documentation that isn't about
148 Perl. This option allows turning all or some of it off.
149
150 The special value "all" enables all guesswork. This is also
151 the default for backward compatibility reasons. The special
152 value "none" disables all guesswork. Otherwise, the value of
153 this option should be a comma-separated list of one or more of
154 the following keywords:
155
156 functions
157 Convert function references like foo() to bold even if they
158 have no markup. The function name accepts valid Perl
159 characters for function names (including ":"), and the
160 trailing parentheses must be present and empty.
161
162 manref
163 Make the first part (before the parentheses) of manual page
164 references like foo(1) bold even if they have no markup.
165 The section must be a single number optionally followed by
166 lowercase letters.
167
168 quoting
169 If no guesswork is enabled, any text enclosed in C<> is
170 surrounded by double quotes in nroff (terminal) output
171 unless the contents are already quoted. When this
172 guesswork is enabled, quote marks will also be suppressed
173 for Perl variables, function names, function calls,
174 numbers, and hex constants.
175
176 variables
177 Convert Perl variable names to a fixed-width font even if
178 they have no markup. This transformation will only be
179 apparent in troff output, or some other output format
180 (unlike nroff terminal output) that supports fixed-width
181 fonts.
182
183 Any unknown guesswork name is silently ignored (for potential
184 future compatibility), so be careful about spelling.
185
186 language
187 [5.00] Add commands telling groff that the input file is in the
188 given language. The value of this setting must be a language
189 abbreviation for which groff provides supplemental
190 configuration, such as "ja" (for Japanese) or "zh" (for
191 Chinese).
192
193 Specifically, this adds:
194
195 .mso <language>.tmac
196 .hla <language>
197
198 to the start of the file, which configure correct line breaking
199 for the specified language. Without these commands, groff may
200 not know how to add proper line breaks for Chinese and Japanese
201 text if the manual page is installed into the normal manual
202 page directory, such as /usr/share/man.
203
204 On many systems, this will be done automatically if the manual
205 page is installed into a language-specific manual page
206 directory, such as /usr/share/man/zh_CN. In that case, this
207 option is not required.
208
209 Unfortunately, the commands added with this option are specific
210 to groff and will not work with other troff and nroff
211 implementations.
212
213 lquote
214 rquote
215 [4.08] Sets the quote marks used to surround C<> text.
216 "lquote" sets the left quote mark and "rquote" sets the right
217 quote mark. Either may also be set to the special value
218 "none", in which case no quote mark is added on that side of
219 C<> text (but the font is still changed for troff output).
220
221 Also see the "quotes" option, which can be used to set both
222 quotes at once. If both "quotes" and one of the other options
223 is set, "lquote" or "rquote" overrides "quotes".
224
225 name
226 [4.08] Set the name of the manual page for the ".TH" macro.
227 Without this option, the manual name is set to the uppercased
228 base name of the file being converted unless the manual section
229 is 3, in which case the path is parsed to see if it is a Perl
230 module path. If it is, a path like ".../lib/Pod/Man.pm" is
231 converted into a name like "Pod::Man". This option, if given,
232 overrides any automatic determination of the name.
233
234 If generating a manual page from standard input, the name will
235 be set to "STDIN" if this option is not provided. In this
236 case, providing this option is strongly recommended to set a
237 meaningful manual page name.
238
239 nourls
240 [2.27] Normally, L<> formatting codes with a URL but anchor
241 text are formatted to show both the anchor text and the URL.
242 In other words:
243
244 L<foo|http://example.com/>
245
246 is formatted as:
247
248 foo <http://example.com/>
249
250 This option, if set to a true value, suppresses the URL when
251 anchor text is given, so this example would be formatted as
252 just "foo". This can produce less cluttered output in cases
253 where the URLs are not particularly important.
254
255 quotes
256 [4.00] Sets the quote marks used to surround C<> text. If the
257 value is a single character, it is used as both the left and
258 right quote. Otherwise, it is split in half, and the first
259 half of the string is used as the left quote and the second is
260 used as the right quote.
261
262 This may also be set to the special value "none", in which case
263 no quote marks are added around C<> text (but the font is still
264 changed for troff output).
265
266 Also see the "lquote" and "rquote" options, which can be used
267 to set the left and right quotes independently. If both
268 "quotes" and one of the other options is set, "lquote" or
269 "rquote" overrides "quotes".
270
271 release
272 [1.00] Set the centered footer for the ".TH" macro. By
273 default, this is set to the version of Perl you run Pod::Man
274 under. Setting this to the empty string will cause some *roff
275 implementations to use the system default value.
276
277 Note that some system "an" macro sets assume that the centered
278 footer will be a modification date and will prepend something
279 like "Last modified: ". If this is the case for your target
280 system, you may want to set "release" to the last modified date
281 and "date" to the version number.
282
283 section
284 [1.00] Set the section for the ".TH" macro. The standard
285 section numbering convention is to use 1 for user commands, 2
286 for system calls, 3 for functions, 4 for devices, 5 for file
287 formats, 6 for games, 7 for miscellaneous information, and 8
288 for administrator commands. There is a lot of variation here,
289 however; some systems (like Solaris) use 4 for file formats, 5
290 for miscellaneous information, and 7 for devices. Still others
291 use 1m instead of 8, or some mix of both. About the only
292 section numbers that are reliably consistent are 1, 2, and 3.
293
294 By default, section 1 will be used unless the file ends in
295 ".pm" in which case section 3 will be selected.
296
297 stderr
298 [2.19] If set to a true value, send error messages about
299 invalid POD to standard error instead of appending a POD ERRORS
300 section to the generated *roff output. This is equivalent to
301 setting "errors" to "stderr" if "errors" is not already set.
302
303 This option is for backward compatibility with Pod::Man
304 versions that did not support "errors". Normally, the "errors"
305 option should be used instead.
306
307 utf8
308 [2.21] This option used to set the output encoding to UTF-8.
309 Since this is now the default, it is ignored and does nothing.
310
312 As a derived class from Pod::Simple, Pod::Man supports the same methods
313 and interfaces. See Pod::Simple for all the details. This section
314 summarizes the most-frequently-used methods and the ones added by
315 Pod::Man.
316
317 output_fh(FH)
318 Direct the output from parse_file(), parse_lines(), or
319 parse_string_document() to the file handle FH instead of "STDOUT".
320
321 output_string(REF)
322 Direct the output from parse_file(), parse_lines(), or
323 parse_string_document() to the scalar variable pointed to by REF,
324 rather than "STDOUT". For example:
325
326 my $man = Pod::Man->new();
327 my $output;
328 $man->output_string(\$output);
329 $man->parse_file('/some/input/file');
330
331 Be aware that the output in that variable will already be encoded
332 in UTF-8.
333
334 parse_file(PATH)
335 Read the POD source from PATH and format it. By default, the
336 output is sent to "STDOUT", but this can be changed with the
337 output_fh() or output_string() methods.
338
339 parse_from_file(INPUT, OUTPUT)
340 parse_from_filehandle(FH, OUTPUT)
341 Read the POD source from INPUT, format it, and output the results
342 to OUTPUT.
343
344 parse_from_filehandle() is provided for backward compatibility with
345 older versions of Pod::Man. parse_from_file() should be used
346 instead.
347
348 parse_lines(LINES[, ...[, undef]])
349 Parse the provided lines as POD source, writing the output to
350 either "STDOUT" or the file handle set with the output_fh() or
351 output_string() methods. This method can be called repeatedly to
352 provide more input lines. An explicit "undef" should be passed to
353 indicate the end of input.
354
355 This method expects raw bytes, not decoded characters.
356
357 parse_string_document(INPUT)
358 Parse the provided scalar variable as POD source, writing the
359 output to either "STDOUT" or the file handle set with the
360 output_fh() or output_string() methods.
361
362 This method expects raw bytes, not decoded characters.
363
365 As of Pod::Man 5.00, the default output encoding for Pod::Man is UTF-8.
366 This should work correctly on any modern system that uses either groff
367 (most Linux distributions) or mandoc (Alpine Linux and most BSD
368 variants, including macOS).
369
370 The user will probably have to use a UTF-8 locale to see correct
371 output. This may be done by default; if not, set the LANG or LC_CTYPE
372 environment variables to an appropriate local. The locale "C.UTF-8" is
373 available on most systems if one wants correct output without changing
374 the other things locales affect, such as collation.
375
376 The backward-compatible output format used in Pod::Man versions before
377 5.00 is available by setting the "encoding" option to "roff". This may
378 produce marginally nicer results on older UNIX versions that do not use
379 groff or mandoc, but none of the available options will correctly
380 render Unicode characters on those systems.
381
382 Below are some additional details about how this choice was made and
383 some discussion of alternatives.
384
385 History
386 The default output encoding for Pod::Man has been a long-standing
387 problem. troff and nroff predate Unicode by a significant margin, and
388 their implementations for many UNIX systems reflect that legacy. It's
389 common for Unicode to not be supported in any form.
390
391 Because of this, versions of Pod::Man prior to 5.00 maintained the
392 highly conservative output of the original pod2man, which output pure
393 ASCII with complex macros to simulate common western European accented
394 characters when processed with troff. The nroff output was awkward and
395 sometimes incorrect, and characters not used in western European
396 scripts were replaced with "X". This choice maximized backwards
397 compatibility with man and nroff/troff implementations at the cost of
398 incorrect rendering of many POD documents, particularly those
399 containing people's names.
400
401 The modern implementations, groff (used in most Linux distributions)
402 and mandoc (used by most BSD variants), do now support Unicode. Other
403 UNIX systems often do not, but they're now a tiny minority of the
404 systems people use on a daily basis. It's increasingly common (for
405 very good reasons) to use Unicode characters for POD documents rather
406 than using ASCII conversions of people's names or avoiding non-English
407 text, making the limitations in the old output format more apparent.
408
409 Four options have been proposed to fix this:
410
411 • Optionally support UTF-8 output but don't change the default. This
412 is the approach taken since Pod::Man 2.1.0, which added the "utf8"
413 option. Some Pod::Man users use this option for better output on
414 platforms known to support Unicode, but since the defaults have not
415 changed, people continued to encounter (and file bug reports about)
416 the poor default rendering.
417
418 • Convert characters to troff "\(xx" escapes. This requires
419 maintaining a large translation table and addresses only a tiny part
420 of the problem, since many Unicode characters have no standard troff
421 name. groff has the largest list, but if one is willing to assume
422 groff is the formatter, the next option is better.
423
424 • Convert characters to groff "\[uNNNN]" escapes. This is implemented
425 as the "groff" encoding for those who want to use it, and is
426 supported by both groff and mandoc. However, it is no better than
427 UTF-8 output for portability to other implementations. See "Testing
428 results" for more details.
429
430 • Change the default output format to UTF-8 and ask those who want
431 maximum backward compatibility to explicitly select the old encoding.
432 This fixes the issue for most users at the cost of backwards
433 compatibility. While the rendering of non-ASCII characters is
434 different on older systems that don't support UTF-8, it's not always
435 worse than the old output.
436
437 Pod::Man 5.00 and later makes the last choice. This arguably produces
438 worse output when manual pages are formatted with troff into PostScript
439 or PDF, but doing this is rare and normally manual, so the encoding can
440 be changed in those cases. The older output encoding is available by
441 setting "encoding" to "roff".
442
443 Testing results
444 Here is the results of testing "encoding" values of "utf-8" and "groff"
445 on various operating systems. The testing methodology was to create
446 man/man1 in the current directory, copy encoding.utf8 or encoding.groff
447 from the podlators 5.00 distribution to man/man1/encoding.1, and then
448 run:
449
450 LANG=C.UTF-8 MANPATH=$(pwd)/man man 1 encoding
451
452 If the locale is not explicitly set to one that includes UTF-8, the
453 Unicode characters were usually converted to ASCII (by, for example,
454 dropping an accent) or deleted or replaced with "<?>" if there was no
455 conversion.
456
457 Tested on 2022-09-25. Many thanks to the GCC Compile Farm project for
458 access to testing hosts.
459
460 OS UTF-8 groff
461 ------------------ ------- -------
462 AIX 7.1 no [1] no [2]
463 Alpine 3.15.0 yes yes
464 CentOS 7.9 yes yes
465 Debian 7 yes yes
466 FreeBSD 13.0 yes yes
467 NetBSD 9.2 yes yes
468 OpenBSD 7.1 yes yes
469 openSUSE Leap 15.4 yes yes
470 Solaris 10 yes no [2]
471 Solaris 11 no [3] no [3]
472
473 I did not have access to a macOS system for testing, but since it uses
474 mandoc, it's behavior is probably the same as the BSD hosts.
475
476 Notes:
477
478 [1] Unicode characters were converted to one or two random ASCII
479 characters unrelated to the original character.
480
481 [2] Unicode characters were shown as the body of the groff escape
482 rather than the indicated character (in other words, text like
483 "[u00EF]").
484
485 [3] Unicode characters were deleted entirely, as if they weren't there.
486 Using "nroff -man" instead of man to format the page showed the
487 same results as Solaris 10. Using "groff -k -man -Tutf8" to format
488 the page produced the correct output.
489
490 PostScript and PDF output using groff on a Debian 12 system do not
491 support combining accent marks or SMP characters due to a lack of
492 support in the default output font.
493
494 Testing on additional platforms is welcome. Please let the author know
495 if you have additional results.
496
498 roff font should be 1 or 2 chars, not "%s"
499 (F) You specified a *roff font (using "fixed", "fixedbold", etc.)
500 that wasn't either one or two characters. Pod::Man doesn't support
501 *roff fonts longer than two characters, although some *roff
502 extensions do (the canonical versions of nroff and troff don't
503 either).
504
505 Invalid errors setting "%s"
506 (F) The "errors" parameter to the constructor was set to an unknown
507 value.
508
509 Invalid quote specification "%s"
510 (F) The quote specification given (the "quotes" option to the
511 constructor) was invalid. A quote specification must be either one
512 character long or an even number (greater than one) characters
513 long.
514
515 POD document had syntax errors
516 (F) The POD document being formatted had syntax errors and the
517 "errors" option was set to "die".
518
520 PERL_CORE
521 If set and Encode is not available, silently fall back to an
522 encoding of "groff" without complaining to standard error. This
523 environment variable is set during Perl core builds, which build
524 Encode after podlators. Encode is expected to not (yet) be
525 available in that case.
526
527 POD_MAN_DATE
528 If set, this will be used as the value of the left-hand footer
529 unless the "date" option is explicitly set, overriding the
530 timestamp of the input file or the current time. This is primarily
531 useful to ensure reproducible builds of the same output file given
532 the same source and Pod::Man version, even when file timestamps may
533 not be consistent.
534
535 SOURCE_DATE_EPOCH
536 If set, and POD_MAN_DATE and the "date" options are not set, this
537 will be used as the modification time of the source file,
538 overriding the timestamp of the input file or the current time. It
539 should be set to the desired time in seconds since UNIX epoch.
540 This is primarily useful to ensure reproducible builds of the same
541 output file given the same source and Pod::Man version, even when
542 file timestamps may not be consistent. See
543 <https://reproducible-builds.org/specs/source-date-epoch/> for the
544 full specification.
545
546 (Arguably, according to the specification, this variable should be
547 used only if the timestamp of the input file is not available and
548 Pod::Man uses the current time. However, for reproducible builds
549 in Debian, results were more reliable if this variable overrode the
550 timestamp of the input file.)
551
553 Pod::Man 1.02 (based on Pod::Parser) was the first version included
554 with Perl, in Perl 5.6.0.
555
556 The current API based on Pod::Simple was added in Pod::Man 2.00.
557 Pod::Man 2.04 was included in Perl 5.9.3, the first version of Perl to
558 incorporate those changes. This is the first version that correctly
559 supports all modern POD syntax. The parse_from_filehandle() method was
560 re-added for backward compatibility in Pod::Man 2.09, included in Perl
561 5.9.4.
562
563 Support for anchor text in L<> links of type URL was added in Pod::Man
564 2.23, included in Perl 5.11.5.
565
566 parse_lines(), parse_string_document(), and parse_file() set a default
567 output file handle of "STDOUT" if one was not already set as of
568 Pod::Man 2.28, included in Perl 5.19.5.
569
570 Support for SOURCE_DATE_EPOCH and POD_MAN_DATE was added in Pod::Man
571 4.00, included in Perl 5.23.7, and generated dates were changed to use
572 UTC instead of the local time zone. This is also the first release
573 that aligned the module version and the version of the podlators
574 distribution. All modules included in podlators, and the podlators
575 distribution itself, share the same version number from this point
576 forward.
577
578 Pod::Man 4.10, included in Perl 5.27.8, changed the formatting for
579 manual page references and function names to bold instead of italic,
580 following the current Linux manual page standard.
581
582 Pod::Man 5.00 changed the default output encoding to UTF-8, overridable
583 with the new "encoding" option. It also fixed problems with bold or
584 italic extending too far when used with C<> escapes, and began
585 converting Unicode zero-width spaces (U+200B) to the "\:" *roff escape.
586 It also dropped attempts to add subtle formatting corrections in the
587 output that would only be visible when typeset with troff, which had
588 previously been a significant source of bugs.
589
591 There are numerous bugs and language-specific assumptions in the nroff
592 fallbacks for accented characters in the "roff" encoding. Since the
593 point of this encoding is backward compatibility with the output from
594 earlier versions of Pod::Man, and it is deprecated except when
595 necessary to support old systems, those bugs are unlikely to ever be
596 fixed.
597
598 Pod::Man doesn't handle font names longer than two characters. Neither
599 do most troff implementations, but groff does as an extension. It
600 would be nice to support as an option for those who want to use it.
601
603 Sentence spacing
604 Pod::Man copies the input spacing verbatim to the output *roff
605 document. This means your output will be affected by how nroff
606 generally handles sentence spacing.
607
608 nroff dates from an era in which it was standard to use two spaces
609 after sentences, and will always add two spaces after a line-ending
610 period (or similar punctuation) when reflowing text. For example, the
611 following input:
612
613 =pod
614
615 One sentence.
616 Another sentence.
617
618 will result in two spaces after the period when the text is reflowed.
619 If you use two spaces after sentences anyway, this will be consistent,
620 although you will have to be careful to not end a line with an
621 abbreviation such as "e.g." or "Ms.". Output will also be consistent
622 if you use the *roff style guide (and XKCD 1285
623 <https://xkcd.com/1285/>) recommendation of putting a line break after
624 each sentence, although that will consistently produce two spaces after
625 each sentence, which may not be what you want.
626
627 If you prefer one space after sentences (which is the more modern
628 style), you will unfortunately need to ensure that no line in the
629 middle of a paragraph ends in a period or similar sentence-ending
630 paragraph. Otherwise, nroff will add a two spaces after that sentence
631 when reflowing, and your output document will have inconsistent
632 spacing.
633
634 Hyphens
635 The handling of hyphens versus dashes is somewhat fragile, and one may
636 get a the wrong one under some circumstances. This will normally only
637 matter for line breaking and possibly for troff output.
638
640 Written by Russ Allbery <rra@cpan.org>, based on the original pod2man
641 by Tom Christiansen <tchrist@mox.perl.com>.
642
643 The modifications to work with Pod::Simple instead of Pod::Parser were
644 contributed by Sean Burke <sburke@cpan.org>, but I've since hacked them
645 beyond recognition and all bugs are mine.
646
648 Copyright 1999-2010, 2012-2020, 2022 Russ Allbery <rra@cpan.org>
649
650 Substantial contributions by Sean Burke <sburke@cpan.org>.
651
652 This program is free software; you may redistribute it and/or modify it
653 under the same terms as Perl itself.
654
656 Encode::Supported, Pod::Simple, perlpod(1), pod2man(1), nroff(1),
657 troff(1), man(1), man(7)
658
659 Ossanna, Joseph F., and Brian W. Kernighan. "Troff User's Manual,"
660 Computing Science Technical Report No. 54, AT&T Bell Laboratories.
661 This is the best documentation of standard nroff and troff. At the
662 time of this writing, it's available at <http://www.troff.org/54.pdf>.
663
664 The manual page documenting the man macro set may be man(5) instead of
665 man(7) on your system.
666
667 See perlpodstyle(1) for documentation on writing manual pages in POD if
668 you've not done it before and aren't familiar with the conventions.
669
670 The current version of this module is always available from its web
671 site at <https://www.eyrie.org/~eagle/software/podlators/>. It is also
672 part of the Perl core distribution as of 5.6.0.
673
674
675
676perl v5.36.0 2023-01-20 Pod::Man(3)