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