Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / tools / perl-5.8.0 / man / man3 / Pod::Checker.3
CommitLineData
86530b38
AT
1.\" Automatically generated by Pod::Man v1.34, Pod::Parser v1.13
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::Checker 3"
132.TH Pod::Checker 3 "2002-06-01" "perl v5.8.0" "Perl Programmers Reference Guide"
133.SH "NAME"
134Pod::Checker, podchecker() \- check pod documents for syntax errors
135.SH "SYNOPSIS"
136.IX Header "SYNOPSIS"
137.Vb 1
138\& use Pod::Checker;
139.Ve
140.PP
141.Vb 1
142\& $syntax_okay = podchecker($filepath, $outputpath, %options);
143.Ve
144.PP
145.Vb 2
146\& my $checker = new Pod::Checker %options;
147\& $checker->parse_from_file($filepath, \e*STDERR);
148.Ve
149.SH "OPTIONS/ARGUMENTS"
150.IX Header "OPTIONS/ARGUMENTS"
151\&\f(CW$filepath\fR is the input \s-1POD\s0 to read and \f(CW$outputpath\fR is
152where to write \s-1POD\s0 syntax error messages. Either argument may be a scalar
153indicating a file\-path, or else a reference to an open filehandle.
154If unspecified, the input-file it defaults to \f(CW\*(C`\e*STDIN\*(C'\fR, and
155the output-file defaults to \f(CW\*(C`\e*STDERR\*(C'\fR.
156.Sh "\fIpodchecker()\fP"
157.IX Subsection "podchecker()"
158This function can take a hash of options:
159.IP "\fB\-warnings\fR => \fIval\fR" 4
160.IX Item "-warnings => val"
161Turn warnings on/off. \fIval\fR is usually 1 for on, but higher values
162trigger additional warnings. See \*(L"Warnings\*(R".
163.SH "DESCRIPTION"
164.IX Header "DESCRIPTION"
165\&\fBpodchecker\fR will perform syntax checking of Perl5 \s-1POD\s0 format documentation.
166.PP
167\&\fI\s-1NOTE\s0 \s-1THAT\s0 \s-1THIS\s0 \s-1MODULE\s0 \s-1IS\s0 \s-1CURRENTLY\s0 \s-1IN\s0 \s-1THE\s0 \s-1BETA\s0 \s-1STAGE\s0!\fR
168.PP
169It is hoped that curious/ambitious user will help flesh out and add the
170additional features they wish to see in \fBPod::Checker\fR and \fBpodchecker\fR
171and verify that the checks are consistent with perlpod.
172.PP
173The following checks are currently preformed:
174.IP "\(bu" 4
175Unknown '=xxxx' commands, unknown 'X<...>' interior\-sequences,
176and unterminated interior sequences.
177.IP "\(bu" 4
178Check for proper balancing of \f(CW\*(C`=begin\*(C'\fR and \f(CW\*(C`=end\*(C'\fR. The contents of such
179a block are generally ignored, i.e. no syntax checks are performed.
180.IP "\(bu" 4
181Check for proper nesting and balancing of \f(CW\*(C`=over\*(C'\fR, \f(CW\*(C`=item\*(C'\fR and \f(CW\*(C`=back\*(C'\fR.
182.IP "\(bu" 4
183Check for same nested interior-sequences (e.g.
184\&\f(CW\*(C`L<...L<...>...>\*(C'\fR).
185.IP "\(bu" 4
186Check for malformed or nonexisting entities \f(CW\*(C`E<...>\*(C'\fR.
187.IP "\(bu" 4
188Check for correct syntax of hyperlinks \f(CW\*(C`L<...>\*(C'\fR. See perlpod
189for details.
190.IP "\(bu" 4
191Check for unresolved document-internal links. This check may also reveal
192misspelled links that seem to be internal links but should be links
193to something else.
194.SH "DIAGNOSTICS"
195.IX Header "DIAGNOSTICS"
196.Sh "Errors"
197.IX Subsection "Errors"
198.IP "\(bu empty =headn" 4
199.IX Item "empty =headn"
200A heading (\f(CW\*(C`=head1\*(C'\fR or \f(CW\*(C`=head2\*(C'\fR) without any text? That ain't no
201heading!
202.IP "\(bu =over on line \fIN\fR without closing =back" 4
203.IX Item "=over on line N without closing =back"
204The \f(CW\*(C`=over\*(C'\fR command does not have a corresponding \f(CW\*(C`=back\*(C'\fR before the
205next heading (\f(CW\*(C`=head1\*(C'\fR or \f(CW\*(C`=head2\*(C'\fR) or the end of the file.
206.IP "\(bu =item without previous =over" 4
207.IX Item "=item without previous =over"
208.PD 0
209.IP "\(bu =back without previous =over" 4
210.IX Item "=back without previous =over"
211.PD
212An \f(CW\*(C`=item\*(C'\fR or \f(CW\*(C`=back\*(C'\fR command has been found outside a
213\&\f(CW\*(C`=over\*(C'\fR/\f(CW\*(C`=back\*(C'\fR block.
214.IP "\(bu No argument for =begin" 4
215.IX Item "No argument for =begin"
216A \f(CW\*(C`=begin\*(C'\fR command was found that is not followed by the formatter
217specification.
218.IP "\(bu =end without =begin" 4
219.IX Item "=end without =begin"
220A standalone \f(CW\*(C`=end\*(C'\fR command was found.
221.IP "\(bu Nested =begin's" 4
222.IX Item "Nested =begin's"
223There were at least two consecutive \f(CW\*(C`=begin\*(C'\fR commands without
224the corresponding \f(CW\*(C`=end\*(C'\fR. Only one \f(CW\*(C`=begin\*(C'\fR may be active at
225a time.
226.IP "\(bu =for without formatter specification" 4
227.IX Item "=for without formatter specification"
228There is no specification of the formatter after the \f(CW\*(C`=for\*(C'\fR command.
229.IP "\(bu unresolved internal link \fI\s-1NAME\s0\fR" 4
230.IX Item "unresolved internal link NAME"
231The given link to \fI\s-1NAME\s0\fR does not have a matching node in the current
232\&\s-1POD\s0. This also happend when a single word node name is not enclosed in
233\&\f(CW""\fR.
234.ie n .IP "\(bu Unknown command ""\fI\s-1CMD\s0\fR""" 4
235.el .IP "\(bu Unknown command ``\fI\s-1CMD\s0\fR''" 4
236.IX Item "Unknown command ""CMD"""
237An invalid \s-1POD\s0 command has been found. Valid are \f(CW\*(C`=head1\*(C'\fR, \f(CW\*(C`=head2\*(C'\fR,
238\&\f(CW\*(C`=head3\*(C'\fR, \f(CW\*(C`=head4\*(C'\fR, \f(CW\*(C`=over\*(C'\fR, \f(CW\*(C`=item\*(C'\fR, \f(CW\*(C`=back\*(C'\fR, \f(CW\*(C`=begin\*(C'\fR, \f(CW\*(C`=end\*(C'\fR,
239\&\f(CW\*(C`=for\*(C'\fR, \f(CW\*(C`=pod\*(C'\fR, \f(CW\*(C`=cut\*(C'\fR
240.ie n .IP "\(bu Unknown interior-sequence ""\fI\s-1SEQ\s0\fR""" 4
241.el .IP "\(bu Unknown interior-sequence ``\fI\s-1SEQ\s0\fR''" 4
242.IX Item "Unknown interior-sequence ""SEQ"""
243An invalid markup command has been encountered. Valid are:
244\&\f(CW\*(C`B<>\*(C'\fR, \f(CW\*(C`C<>\*(C'\fR, \f(CW\*(C`E<>\*(C'\fR, \f(CW\*(C`F<>\*(C'\fR,
245\&\f(CW\*(C`I<>\*(C'\fR, \f(CW\*(C`L<>\*(C'\fR, \f(CW\*(C`S<>\*(C'\fR, \f(CW\*(C`X<>\*(C'\fR,
246\&\f(CW\*(C`Z<>\*(C'\fR
247.IP "\(bu nested commands \fI\s-1CMD\s0\fR<...\fI\s-1CMD\s0\fR<...>...>" 4
248.IX Item "nested commands CMD<...CMD<...>...>"
249Two nested identical markup commands have been found. Generally this
250does not make sense.
251.IP "\(bu garbled entity \fI\s-1STRING\s0\fR" 4
252.IX Item "garbled entity STRING"
253The \fI\s-1STRING\s0\fR found cannot be interpreted as a character entity.
254.IP "\(bu Entity number out of range" 4
255.IX Item "Entity number out of range"
256An entity specified by number (dec, hex, oct) is out of range (1\-255).
257.IP "\(bu malformed link L<>" 4
258.IX Item "malformed link L<>"
259The link found cannot be parsed because it does not conform to the
260syntax described in perlpod.
261.IP "\(bu nonempty Z<>" 4
262.IX Item "nonempty Z<>"
263The \f(CW\*(C`Z<>\*(C'\fR sequence is supposed to be empty.
264.IP "\(bu empty X<>" 4
265.IX Item "empty X<>"
266The index entry specified contains nothing but whitespace.
267.IP "\(bu Spurious text after =pod / =cut" 4
268.IX Item "Spurious text after =pod / =cut"
269The commands \f(CW\*(C`=pod\*(C'\fR and \f(CW\*(C`=cut\*(C'\fR do not take any arguments.
270.IP "\(bu Spurious character(s) after =back" 4
271.IX Item "Spurious character(s) after =back"
272The \f(CW\*(C`=back\*(C'\fR command does not take any arguments.
273.Sh "Warnings"
274.IX Subsection "Warnings"
275These may not necessarily cause trouble, but indicate mediocre style.
276.IP "\(bu multiple occurrence of link target \fIname\fR" 4
277.IX Item "multiple occurrence of link target name"
278The \s-1POD\s0 file has some \f(CW\*(C`=item\*(C'\fR and/or \f(CW\*(C`=head\*(C'\fR commands that have
279the same text. Potential hyperlinks to such a text cannot be unique then.
280.IP "\(bu line containing nothing but whitespace in paragraph" 4
281.IX Item "line containing nothing but whitespace in paragraph"
282There is some whitespace on a seemingly empty line. \s-1POD\s0 is very sensitive
283to such things, so this is flagged. \fBvi\fR users switch on the \fBlist\fR
284option to avoid this problem.
285.IP "\(bu previous =item has no contents" 4
286.IX Item "previous =item has no contents"
287There is a list \f(CW\*(C`=item\*(C'\fR right above the flagged line that has no
288text contents. You probably want to delete empty items.
289.IP "\(bu preceding non-item paragraph(s)" 4
290.IX Item "preceding non-item paragraph(s)"
291A list introduced by \f(CW\*(C`=over\*(C'\fR starts with a text or verbatim paragraph,
292but continues with \f(CW\*(C`=item\*(C'\fRs. Move the non-item paragraph out of the
293\&\f(CW\*(C`=over\*(C'\fR/\f(CW\*(C`=back\*(C'\fR block.
294.IP "\(bu =item type mismatch (\fIone\fR vs. \fItwo\fR)" 4
295.IX Item "=item type mismatch (one vs. two)"
296A list started with e.g. a bulletted \f(CW\*(C`=item\*(C'\fR and continued with a
297numbered one. This is obviously inconsistent. For most translators the
298type of the \fIfirst\fR \f(CW\*(C`=item\*(C'\fR determines the type of the list.
299.ie n .IP "\(bu \fIN\fR unescaped ""<>"" in paragraph" 4
300.el .IP "\(bu \fIN\fR unescaped \f(CW<>\fR in paragraph" 4
301.IX Item "N unescaped <> in paragraph"
302Angle brackets not written as \f(CW\*(C`<lt>\*(C'\fR and \f(CW\*(C`<gt>\*(C'\fR
303can potentially cause errors as they could be misinterpreted as
304markup commands. This is only printed when the \-warnings level is
305greater than 1.
306.IP "\(bu Unknown entity" 4
307.IX Item "Unknown entity"
308A character entity was found that does not belong to the standard
309\&\s-1ISO\s0 set or the \s-1POD\s0 specials \f(CW\*(C`verbar\*(C'\fR and \f(CW\*(C`sol\*(C'\fR.
310.IP "\(bu No items in =over" 4
311.IX Item "No items in =over"
312The list opened with \f(CW\*(C`=over\*(C'\fR does not contain any items.
313.IP "\(bu No argument for =item" 4
314.IX Item "No argument for =item"
315\&\f(CW\*(C`=item\*(C'\fR without any parameters is deprecated. It should either be followed
316by \f(CW\*(C`*\*(C'\fR to indicate an unordered list, by a number (optionally followed
317by a dot) to indicate an ordered (numbered) list or simple text for a
318definition list.
319.IP "\(bu empty section in previous paragraph" 4
320.IX Item "empty section in previous paragraph"
321The previous section (introduced by a \f(CW\*(C`=head\*(C'\fR command) does not contain
322any text. This usually indicates that something is missing. Note: A
323\&\f(CW\*(C`=head1\*(C'\fR followed immediately by \f(CW\*(C`=head2\*(C'\fR does not trigger this warning.
324.IP "\(bu Verbatim paragraph in \s-1NAME\s0 section" 4
325.IX Item "Verbatim paragraph in NAME section"
326The \s-1NAME\s0 section (\f(CW\*(C`=head1 NAME\*(C'\fR) should consist of a single paragraph
327with the script/module name, followed by a dash `\-' and a very short
328description of what the thing is good for.
329.Sh "Hyperlinks"
330.IX Subsection "Hyperlinks"
331There are some warnings wrt. malformed hyperlinks.
332.IP "\(bu ignoring leading/trailing whitespace in link" 4
333.IX Item "ignoring leading/trailing whitespace in link"
334There is whitespace at the beginning or the end of the contents of
335L<...>.
336.IP "\(bu (section) in '$page' deprecated" 4
337.IX Item "(section) in '$page' deprecated"
338There is a section detected in the page name of L<...>, e.g.
339\&\f(CW\*(C`L<passwd(2)>\*(C'\fR. \s-1POD\s0 hyperlinks may point to \s-1POD\s0 documents only.
340Please write \f(CW\*(C`C<passwd(2)>\*(C'\fR instead. Some formatters are able
341to expand this to appropriate code. For links to (builtin) functions,
342please say \f(CW\*(C`L<perlfunc/mkdir>\*(C'\fR, without ().
343.IP "\(bu alternative text/node '%s' contains non-escaped | or /" 4
344.IX Item "alternative text/node '%s' contains non-escaped | or /"
345The characters \f(CW\*(C`|\*(C'\fR and \f(CW\*(C`/\*(C'\fR are special in the L<...> context.
346Although the hyperlink parser does its best to determine which \*(L"/\*(R" is
347text and which is a delimiter in case of doubt, one ought to escape
348these literal characters like this:
349.Sp
350.Vb 2
351\& / E<sol>
352\& | E<verbar>
353.Ve
354.SH "RETURN VALUE"
355.IX Header "RETURN VALUE"
356\&\fBpodchecker\fR returns the number of \s-1POD\s0 syntax errors found or \-1 if
357there were no \s-1POD\s0 commands at all found in the file.
358.SH "EXAMPLES"
359.IX Header "EXAMPLES"
360\&\fI[T.B.D.]\fR
361.SH "INTERFACE"
362.IX Header "INTERFACE"
363While checking, this module collects document properties, e.g. the nodes
364for hyperlinks (\f(CW\*(C`=headX\*(C'\fR, \f(CW\*(C`=item\*(C'\fR) and index entries (\f(CW\*(C`X<>\*(C'\fR).
365\&\s-1POD\s0 translators can use this feature to syntax-check and get the nodes in
366a first pass before actually starting to convert. This is expensive in terms
367of execution time, but allows for very robust conversions.
368.ie n .IP """Pod::Checker\->new( %options )""" 4
369.el .IP "\f(CWPod::Checker\->new( %options )\fR" 4
370.IX Item "Pod::Checker->new( %options )"
371Return a reference to a new Pod::Checker object that inherits from
372Pod::Parser and is used for calling the required methods later. The
373following options are recognized:
374.Sp
375\&\f(CW\*(C`\-warnings => num\*(C'\fR
376 Print warnings if \f(CW\*(C`num\*(C'\fR is true. The higher the value of \f(CW\*(C`num\*(C'\fR,
377the more warnings are printed. Currently there are only levels 1 and 2.
378.Sp
379\&\f(CW\*(C`\-quiet => num\*(C'\fR
380 If \f(CW\*(C`num\*(C'\fR is true, do not print any errors/warnings. This is useful
381when Pod::Checker is used to munge \s-1POD\s0 code into plain text from within
382\&\s-1POD\s0 formatters.
383.ie n .IP """$checker\->poderror( @args )""" 4
384.el .IP "\f(CW$checker\->poderror( @args )\fR" 4
385.IX Item "$checker->poderror( @args )"
386.PD 0
387.ie n .IP """$checker\->poderror( {%opts}, @args )""" 4
388.el .IP "\f(CW$checker\->poderror( {%opts}, @args )\fR" 4
389.IX Item "$checker->poderror( {%opts}, @args )"
390.PD
391Internal method for printing errors and warnings. If no options are
392given, simply prints \*(L"@_\*(R". The following options are recognized and used
393to form the output:
394.Sp
395.Vb 1
396\& -msg
397.Ve
398.Sp
399A message to print prior to \f(CW@args\fR.
400.Sp
401.Vb 1
402\& -line
403.Ve
404.Sp
405The line number the error occurred in.
406.Sp
407.Vb 1
408\& -file
409.Ve
410.Sp
411The file (name) the error occurred in.
412.Sp
413.Vb 1
414\& -severity
415.Ve
416.Sp
417The error level, should be '\s-1WARNING\s0' or '\s-1ERROR\s0'.
418.ie n .IP """$checker\->num_errors()""" 4
419.el .IP "\f(CW$checker\->num_errors()\fR" 4
420.IX Item "$checker->num_errors()"
421Set (if argument specified) and retrieve the number of errors found.
422.ie n .IP """$checker\->name()""" 4
423.el .IP "\f(CW$checker\->name()\fR" 4
424.IX Item "$checker->name()"
425Set (if argument specified) and retrieve the canonical name of \s-1POD\s0 as
426found in the \f(CW\*(C`=head1 NAME\*(C'\fR section.
427.ie n .IP """$checker\->node()""" 4
428.el .IP "\f(CW$checker\->node()\fR" 4
429.IX Item "$checker->node()"
430Add (if argument specified) and retrieve the nodes (as defined by \f(CW\*(C`=headX\*(C'\fR
431and \f(CW\*(C`=item\*(C'\fR) of the current \s-1POD\s0. The nodes are returned in the order of
432their occurrence. They consist of plain text, each piece of whitespace is
433collapsed to a single blank.
434.ie n .IP """$checker\->idx()""" 4
435.el .IP "\f(CW$checker\->idx()\fR" 4
436.IX Item "$checker->idx()"
437Add (if argument specified) and retrieve the index entries (as defined by
438\&\f(CW\*(C`X<>\*(C'\fR) of the current \s-1POD\s0. They consist of plain text, each piece
439of whitespace is collapsed to a single blank.
440.ie n .IP """$checker\->hyperlink()""" 4
441.el .IP "\f(CW$checker\->hyperlink()\fR" 4
442.IX Item "$checker->hyperlink()"
443Add (if argument specified) and retrieve the hyperlinks (as defined by
444\&\f(CW\*(C`L<>\*(C'\fR) of the current \s-1POD\s0. They consist of a 2\-item array: line
445number and \f(CW\*(C`Pod::Hyperlink\*(C'\fR object.
446.SH "AUTHOR"
447.IX Header "AUTHOR"
448Brad Appleton <bradapp@enteract.com> (initial version),
449Marek Rouchal <marek@saftsack.fs.uni\-bayreuth.de>
450.PP
451Based on code for \fB\f(BIPod::Text::pod2text()\fB\fR written by
452Tom Christiansen <tchrist@mox.perl.com>