perl perlfaq perlfaq1 perlfaq2 perlfaq3 perlfaq4 perlfaq5
perlfaq6 perlfaq7 perlfaq8 perlfaq9 perldelta perldata
perlsyn perlop perlre perlrun perlfunc perlvar perlsub
- perlmod perlmodlib perlform perllocale perlref perldsc
- perllol perltoot perlobj perltie perlbot perlipc perldebug
- perldiag perlsec perltrap perlstyle perlpod perlbook
- perlembed perlapio perlxs perlxstut perlguts perlcall
+ perlmod perlmodlib perlmodinstall perlfork perlform perllocale
+ perlref perlreftut perldsc
+ perllol perlboot perltoot perltootc perlobj perltie perlbot perlipc
+ perldbmfilter perldebug perlnumber perldebguts
+ perldiag perlsec perltrap perlport perlstyle perlpod perlbook
+ perlembed perlapio perlxs perlxstut perlguts perlcall perlcompile
+ perlapi perlintern perlhist
);
for (@pods) { s/$/.pod/ }
Here should be listed all the extra programs' documentation, but they
don't all have manual pages yet:
+ =over
+
=item a2p
=item s2p
=item wrapsuid
+ =back
=head1 AUTHOR
while(<>) {
if (s/^=head1 (NAME)\s*/=head2 /) {
$pod = path2modname($ARGV);
- unitem();
- unhead2();
+ unhead1();
output "\n \n\n=head2 ";
$_ = <>;
if ( /^\s*$pod\b/ ) {
next;
}
if (s/^=head1 (.*)/=item $1/) {
- unitem(); unhead2();
+ unhead2();
+ output "=over\n\n" unless $inhead1;
+ $inhead1 = 1;
output $_; nl(); next;
}
if (s/^=head2 (.*)/=item $1/) {
output "=over\n\n" unless $inhead2;
$inhead2 = 1;
output $_; nl(); next;
-
}
- if (s/^=item (.*)\n/$1/) {
+ if (s/^=item ([^=].*)\n/$1/) {
next if $pod eq 'perldiag';
s/^\s*\*\s*$// && next;
s/^\s*\*\s*//;
s/^-X\b/-I<X>/;
output $_; next;
}
+ if (s/^=cut\s*\n//) {
+ unhead1();
+ next;
+ }
}
}
return $_;
}
+sub unhead1 {
+ unhead2();
+ if ($inhead1) {
+ output "\n\n=back\n\n";
+ }
+ $inhead1 = 0;
+}
+
sub unhead2 {
+ unitem();
if ($inhead2) {
output "\n\n=back\n\n";
}
$inhead2 = 0;
- $initem = 0;
}
sub unitem {