Autogenerate pod/Makefile and pod/buildtoc.
Jarkko Hietaniemi [Thu, 6 Jul 2000 03:11:46 +0000 (03:11 +0000)]
buildtoc also checks whether the existing pods are
mentioned in MANIFEST and perl.pod, and vice versa.
(None of the thusly found discrepancies fixed yet.)
roffitall also needs to be autogenerated similarly but it
seems so badly out of date that I didn't touch it yet.

p4raw-id: //depot/cfgperl@6319

MANIFEST
Makefile.SH
pod/Makefile [deleted file]
pod/Makefile.SH [new file with mode: 0644]
pod/buildtoc [deleted file]
pod/buildtoc.PL [new file with mode: 0644]
pod/perl.pod
pod/perltoc.pod

index b68706a..d22befa 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -1117,11 +1117,11 @@ plan9/plan9.c           Plan9 port: Plan9-specific C routines
 plan9/plan9ish.h       Plan9 port: Plan9-specific C header file
 plan9/setup.rc         Plan9 port: script for easy build+install
 plan9/versnum          Plan9 port: script to print version number
-pod/Makefile           Make pods into something else
+pod/Makefile.SH                generate Makefile whichs makes pods into something else
 pod/Win32.pod          Documentation for Win32 extras
-pod/buildtoc           generate perltoc.pod
+pod/buildtoc.PL                generate buildtoc which generates perltoc.pod
 pod/checkpods.PL       Tool to check for common errors in pods
-pod/perl.pod           Top level perl man page
+pod/perl.pod           Top level perl documentation
 pod/perl5004delta.pod  Changes from 5.003 to 5.004
 pod/perl5005delta.pod  Changes from 5.004 to 5.005
 pod/perl56delta.pod    Changes from 5.005 to 5.6
index e2f1740..a80e93b 100644 (file)
@@ -222,20 +222,22 @@ private = preplibrary lib/ExtUtils/Miniperl.pm lib/Config.pm
 # Files to be built with variable substitution before miniperl
 # is available.
 sh = Makefile.SH cflags.SH config_h.SH makeaperl.SH makedepend.SH \
-       makedir.SH myconfig.SH writemain.SH
+       makedir.SH myconfig.SH writemain.SH pod/Makefile.SH
 
 shextract = Makefile cflags config.h makeaperl makedepend \
-       makedir myconfig writemain
+       makedir myconfig writemain pod/Makefile
 
 # Files to be built with variable substitution after miniperl is
 # available.  Dependencies handled manually below (for now).
 
 pl = pod/pod2html.PL pod/pod2latex.PL pod/pod2man.PL pod/pod2text.PL \
-       pod/pod2usage.PL pod/podchecker.PL pod/podselect.PL
+       pod/pod2usage.PL pod/podchecker.PL pod/podselect.PL \
+       pod/buildtoc.PL
 
 # lib/lib.pm is not listed here because it has a rule of its own.
 plextract = pod/pod2html pod/pod2latex pod/pod2man pod/pod2text \
-       pod/pod2usage pod/podchecker pod/podselect
+       pod/pod2usage pod/podchecker pod/podselect \
+       pod/buildtoc
 
 addedbyconf = UU $(shextract) $(plextract) lib/lib.pm pstruct
 
@@ -639,6 +641,9 @@ regen_headers:      FORCE
        -perl regcomp.pl
        -perl warnings.pl
 
+regen_pods:    FORCE
+       -cd pod; $(LDLIBPTH) make regen_pods
+
 # Extensions:
 # Names added to $(dynamic_ext) or $(static_ext) or $(nonxs_ext) will
 # automatically get built.  There should ordinarily be no need to change
diff --git a/pod/Makefile b/pod/Makefile
deleted file mode 100644 (file)
index a6f4efb..0000000
+++ /dev/null
@@ -1,401 +0,0 @@
-CONVERTERS = pod2html pod2latex pod2man pod2text checkpods \
-               pod2usage podchecker podselect
-
-HTMLROOT = /   # Change this to fix cross-references in HTML
-POD2HTML = pod2html \
-           --htmlroot=$(HTMLROOT) \
-           --podroot=.. --podpath=pod:lib:ext:vms \
-           --libpods=perlfunc:perlguts:perlvar:perlrun:perlop
-
-all: $(CONVERTERS) man
-
-converters: $(CONVERTERS)
-
-PERL = ../miniperl
-REALPERL = ../perl
-
-POD = \
-       perl.pod        \
-       perl5004delta.pod       \
-       perl5005delta.pod       \
-       perl56delta.pod \
-       perlapi.pod     \
-       perlapio.pod    \
-       perlbook.pod    \
-       perlboot.pod    \
-       perlbot.pod     \
-       perlcall.pod    \
-       perlcompile.pod \
-       perldata.pod    \
-       perldbmfilter.pod       \
-       perldebguts.pod \
-       perldebug.pod   \
-       perldelta.pod   \
-       perldiag.pod    \
-       perldsc.pod     \
-       perlembed.pod   \
-       perlfaq.pod     \
-       perlfaq1.pod    \
-       perlfaq2.pod    \
-       perlfaq3.pod    \
-       perlfaq4.pod    \
-       perlfaq5.pod    \
-       perlfaq6.pod    \
-       perlfaq7.pod    \
-       perlfaq8.pod    \
-       perlfaq9.pod    \
-       perlfilter.pod  \
-       perlfork.pod    \
-       perlform.pod    \
-       perlfunc.pod    \
-       perlguts.pod    \
-       perlhack.pod    \
-       perlhist.pod    \
-       perlintern.pod  \
-       perlipc.pod     \
-       perllexwarn.pod \
-       perllocale.pod  \
-       perllol.pod     \
-       perlmod.pod     \
-       perlmodinstall.pod      \
-       perlmodlib.pod  \
-       perlnewmod.pod  \
-       perlnumber.pod  \
-       perlobj.pod     \
-       perlop.pod      \
-       perlopentut.pod \
-       perlpod.pod     \
-       perlport.pod    \
-       perlre.pod      \
-       perlref.pod     \
-       perlreftut.pod  \
-       perlrequick.pod \
-       perlretut.pod   \
-       perlrun.pod     \
-       perlsec.pod     \
-       perlstyle.pod   \
-       perlsub.pod     \
-       perlsyn.pod     \
-       perlthrtut.pod  \
-       perltie.pod     \
-       perltoc.pod     \
-       perltodo.pod    \
-       perltoot.pod    \
-       perltootc.pod   \
-       perltrap.pod    \
-       perlunicode.pod \
-       perlutil.pod    \
-       perlvar.pod     \
-       perlxs.pod      \
-       perlxstut.pod
-
-MAN = \
-       perl.man        \
-       perl5004delta.man       \
-       perl5005delta.man       \
-       perl56delta.man \
-       perlapi.man     \
-       perlapio.man    \
-       perlbook.man    \
-       perlboot.man    \
-       perlbot.man     \
-       perlcall.man    \
-       perlcompile.man \
-       perldata.man    \
-       perldbmfilter.man       \
-       perldebguts.man \
-       perldebug.man   \
-       perldelta.man   \
-       perldiag.man    \
-       perldsc.man     \
-       perlembed.man   \
-       perlfaq.man     \
-       perlfaq1.man    \
-       perlfaq2.man    \
-       perlfaq3.man    \
-       perlfaq4.man    \
-       perlfaq5.man    \
-       perlfaq6.man    \
-       perlfaq7.man    \
-       perlfaq8.man    \
-       perlfaq9.man    \
-       perlfilter.man  \
-       perlfork.man    \
-       perlform.man    \
-       perlfunc.man    \
-       perlguts.man    \
-       perlhack.man    \
-       perlhist.man    \
-       perlintern.man  \
-       perlipc.man     \
-       perllexwarn.man \
-       perllocale.man  \
-       perllol.man     \
-       perlmod.man     \
-       perlmodinstall.man      \
-       perlmodlib.man  \
-       perlnewmod.man  \
-       perlnumber.man  \
-       perlobj.man     \
-       perlop.man      \
-       perlopentut.man \
-       perlpod.man     \
-       perlport.man    \
-       perlre.man      \
-       perlref.man     \
-       perlreftut.man  \
-       perlrequick.man \
-       perlretut.man   \
-       perlrun.man     \
-       perlsec.man     \
-       perlstyle.man   \
-       perlsub.man     \
-       perlsyn.man     \
-       perlthrtut.man  \
-       perltie.man     \
-       perltoc.man     \
-       perltodo.man    \
-       perltoot.man    \
-       perltootc.man   \
-       perltrap.man    \
-       perlunicode.man \
-       perlutil.man    \
-       perlvar.man     \
-       perlxs.man      \
-       perlxstut.man
-
-HTML = \
-       perl.html       \
-       perl5004delta.html      \
-       perl5005delta.html      \
-       perl56delta.html        \
-       perlapi.html    \
-       perlapio.html   \
-       perlbook.html   \
-       perlboot.html   \
-       perlbot.html    \
-       perlcall.html   \
-       perlcompile.html        \
-       perldata.html   \
-       perldbmfilter.html      \
-       perldebguts.html        \
-       perldebug.html  \
-       perldelta.html  \
-       perldiag.html   \
-       perldsc.html    \
-       perlembed.html  \
-       perlfaq.html    \
-       perlfaq1.html   \
-       perlfaq2.html   \
-       perlfaq3.html   \
-       perlfaq4.html   \
-       perlfaq5.html   \
-       perlfaq6.html   \
-       perlfaq7.html   \
-       perlfaq8.html   \
-       perlfaq9.html   \
-       perlfilter.html \
-       perlfork.html   \
-       perlform.html   \
-       perlfunc.html   \
-       perlguts.html   \
-       perlhack.html   \
-       perlhist.html   \
-       perlintern.html \
-       perlipc.html    \
-       perllexwarn.html        \
-       perllocale.html \
-       perllol.html    \
-       perlmod.html    \
-       perlmodinstall.html     \
-       perlmodlib.html \
-       perlnewmod.html \
-       perlnumber.html \
-       perlobj.html    \
-       perlop.html     \
-       perlopentut.html        \
-       perlpod.html    \
-       perlport.html   \
-       perlre.html     \
-       perlref.html    \
-       perlreftut.html \
-       perlrequick.html        \
-       perlretut.html  \
-       perlrun.html    \
-       perlsec.html    \
-       perlstyle.html  \
-       perlsub.html    \
-       perlsyn.html    \
-       perlthrtut.html \
-       perltie.html    \
-       perltodo.html   \
-       perltoot.html   \
-       perltootc.html  \
-       perltrap.html   \
-       perlunicode.html        \
-       perlutil.html   \
-       perlvar.html    \
-       perlxs.html     \
-       perlxstut.html
-
-# not perltoc.html
-
-TEX = \
-       perl.tex        \
-       perl5004delta.tex       \
-       perl5005delta.tex       \
-       perl56delta.tex \
-       perlapi.tex     \
-       perlapio.tex    \
-       perlbook.tex    \
-       perlboot.tex    \
-       perlbot.tex     \
-       perlcall.tex    \
-       perlcompile.tex \
-       perldata.tex    \
-       perldbmfilter.tex       \
-       perldebguts.tex \
-       perldebug.tex   \
-       perldelta.tex   \
-       perldiag.tex    \
-       perldsc.tex     \
-       perlembed.tex   \
-       perlfaq.tex     \
-       perlfaq1.tex    \
-       perlfaq2.tex    \
-       perlfaq3.tex    \
-       perlfaq4.tex    \
-       perlfaq5.tex    \
-       perlfaq6.tex    \
-       perlfaq7.tex    \
-       perlfaq8.tex    \
-       perlfaq9.tex    \
-       perlfilter.tex  \
-       perlfork.tex    \
-       perlform.tex    \
-       perlfunc.tex    \
-       perlguts.tex    \
-       perlhack.tex    \
-       perlhist.tex    \
-       perlintern.tex  \
-       perlipc.tex     \
-       perllexwarn.tex \
-       perllocale.tex  \
-       perllol.tex     \
-       perlmod.tex     \
-       perlmodinstall.tex      \
-       perlmodlib.tex  \
-       perlnewmod.tex  \
-       perlnumber.tex  \
-       perlobj.tex     \
-       perlop.tex      \
-       perlopentut.tex \
-       perlpod.tex     \
-       perlport.tex    \
-       perlre.tex      \
-       perlref.tex     \
-       perlreftut.tex  \
-       perlrequick.tex \
-       perlretut.tex   \
-       perlrun.tex     \
-       perlsec.tex     \
-       perlstyle.tex   \
-       perlsub.tex     \
-       perlsyn.tex     \
-       perlthrtut.tex  \
-       perltie.tex     \
-       perltoc.tex     \
-       perltodo.tex    \
-       perltoot.tex    \
-       perltootc.tex   \
-       perltrap.tex    \
-       perlunicode.tex \
-       perlutil.tex    \
-       perlvar.tex     \
-       perlxs.tex      \
-       perlxstut.tex
-
-man:   pod2man $(MAN)
-
-html:  pod2html $(HTML)
-
-tex:   pod2latex $(TEX)
-
-toc:
-       $(PERL) -I../lib buildtoc >perltoc.pod
-
-.SUFFIXES: .pm .pod
-
-.SUFFIXES: .man
-
-.pm.man:     pod2man
-       $(PERL) -I../lib pod2man $*.pm >$*.man
-
-.pod.man:     pod2man
-       $(PERL) -I../lib pod2man $*.pod >$*.man
-
-.SUFFIXES: .html
-
-.pm.html:    pod2html
-       $(PERL) -I../lib $(POD2HTML) --infile=$*.pm --outfile=$*.html
-
-.pod.html:    pod2html
-       $(PERL) -I../lib $(POD2HTML) --infile=$*.pod --outfile=$*.html
-
-.SUFFIXES: .tex
-
-.pm.tex: pod2latex
-       $(PERL) -I../lib pod2latex $*.pm
-
-.pod.tex: pod2latex
-       $(PERL) -I../lib pod2latex $*.pod
-
-clean:
-       rm -f $(MAN)
-       rm -f $(HTML)
-       rm -f $(TEX)
-       rm -f pod2html-*cache
-       rm -f *.aux *.log *.exe
-
-realclean:     clean
-       rm -f $(CONVERTERS)
-
-distclean:     realclean
-
-check: checkpods
-       @echo "checking..."; \
-       $(PERL) -I../lib checkpods $(POD)
-
-# Dependencies.
-pod2latex:     pod2latex.PL ../lib/Config.pm
-       $(PERL) -I../lib pod2latex.PL
-
-pod2html:      pod2html.PL ../lib/Config.pm
-       $(PERL) -I ../lib pod2html.PL
-
-pod2man:       pod2man.PL ../lib/Config.pm
-       $(PERL) -I ../lib pod2man.PL
-
-pod2text:      pod2text.PL ../lib/Config.pm
-       $(PERL) -I ../lib pod2text.PL
-
-checkpods:     checkpods.PL ../lib/Config.pm
-       $(PERL) -I ../lib checkpods.PL
-
-pod2usage:     pod2usage.PL ../lib/Config.pm
-       $(PERL) -I ../lib pod2usage.PL
-
-podchecker:    podchecker.PL ../lib/Config.pm
-       $(PERL) -I ../lib podchecker.PL
-
-podselect:     podselect.PL ../lib/Config.pm
-       $(PERL) -I ../lib podselect.PL
-
-perlmodlib.pod:        $(PERL) perlmodlib.PL ../mv-if-diff
-       rm -f perlmodlib.tmp
-       $(PERL) -I ../lib perlmodlib.PL
-       sh ../mv-if-diff perlmodlib.tmp perlmodlib.pod
-
-compile: all
-       $(REALPERL) -I../lib ../utils/perlcc -regex 's/$$/.exe/' pod2latex pod2man pod2text checkpods -prog -verbose dcf -log ../compilelog;
-
diff --git a/pod/Makefile.SH b/pod/Makefile.SH
new file mode 100644 (file)
index 0000000..17ba91a
--- /dev/null
@@ -0,0 +1,158 @@
+case $CONFIG in
+'')
+       if test -f config.sh; then TOP=.;
+       elif test -f ../config.sh; then TOP=..;
+       elif test -f ../../config.sh; then TOP=../..;
+       elif test -f ../../../config.sh; then TOP=../../..;
+       elif test -f ../../../../config.sh; then TOP=../../../..;
+       else
+               echo "Can't find config.sh."; exit 1
+       fi
+       . $TOP/config.sh
+       ;;
+esac
+: This forces SH files to create target in same directory as SH file.
+: This is so that make depend always knows where to find SH derivatives.
+case "$0" in
+*/*) cd `expr X$0 : 'X\(.*\)/'` ;;
+esac
+
+if test -d pod; then
+  cd pod || exit 1
+fi
+POD=`echo *.pod`
+MAN=`echo $POD|sed 's/\.pod/\.man/g'`
+HTML=`echo $POD|sed 's/perltoc.pod//'|sed 's/\.pod/\.man/g'`
+TEX=`echo $POD|sed 's/\.pod/\.tex/g'`
+
+echo "Extracting pod/Makefile (with variable substitutions)"
+: This section of the file will have variable substitutions done on it.
+: Move anything that needs config subs from !NO!SUBS! section to !GROK!THIS!.
+: Protect any dollar signs and backticks that you do not want interpreted
+: by putting a backslash in front.  You may delete these comments.
+
+$spitshell >Makefile <<!GROK!THIS!
+# pod/Makefile
+# This file is derived from pod/Makefile.SH.  Any changes made here will
+# be lost the next time you run Configure.
+
+POD = $POD
+
+MAN = $MAN
+
+# no perltoc.html
+HTML = $HTML
+
+TEX  = $TEX  
+
+!GROK!THIS!
+
+## In the following dollars and backticks do not need the extra backslash.
+$spitshell >>Makefile <<'!NO!SUBS!'
+
+CONVERTERS = pod2html pod2latex pod2man pod2text checkpods \
+               pod2usage podchecker podselect
+
+HTMLROOT = /   # Change this to fix cross-references in HTML
+POD2HTML = pod2html \
+           --htmlroot=$(HTMLROOT) \
+           --podroot=.. --podpath=pod:lib:ext:vms \
+           --libpods=perlfunc:perlguts:perlvar:perlrun:perlop
+
+PERL = ../miniperl
+REALPERL = ../perl
+
+all: $(CONVERTERS) man
+
+converters: $(CONVERTERS)
+
+regen_pods: perlmodlib.pod toc
+
+buildtoc:      buildtoc.PL
+       $(PERL) -I ../lib buildtoc.PL
+
+man:   pod2man $(MAN)
+
+html:  pod2html $(HTML)
+
+tex:   pod2latex $(TEX)
+
+toc:
+       $(PERL) -I../lib buildtoc
+
+.SUFFIXES: .pm .pod
+
+.SUFFIXES: .man
+
+.pm.man:     pod2man
+       $(PERL) -I../lib pod2man $*.pm >$*.man
+
+.pod.man:     pod2man
+       $(PERL) -I../lib pod2man $*.pod >$*.man
+
+.SUFFIXES: .html
+
+.pm.html:    pod2html
+       $(PERL) -I../lib $(POD2HTML) --infile=$*.pm --outfile=$*.html
+
+.pod.html:    pod2html
+       $(PERL) -I../lib $(POD2HTML) --infile=$*.pod --outfile=$*.html
+
+.SUFFIXES: .tex
+
+.pm.tex: pod2latex
+       $(PERL) -I../lib pod2latex $*.pm
+
+.pod.tex: pod2latex
+       $(PERL) -I../lib pod2latex $*.pod
+
+clean:
+       rm -f $(MAN)
+       rm -f $(HTML)
+       rm -f $(TEX)
+       rm -f pod2html-*cache
+       rm -f *.aux *.log *.exe
+
+realclean:     clean
+       rm -f $(CONVERTERS)
+
+distclean:     realclean
+
+check: checkpods
+       @echo "checking..."; \
+       $(PERL) -I../lib checkpods $(POD)
+
+# Dependencies.
+pod2latex:     pod2latex.PL ../lib/Config.pm
+       $(PERL) -I../lib pod2latex.PL
+
+pod2html:      pod2html.PL ../lib/Config.pm
+       $(PERL) -I ../lib pod2html.PL
+
+pod2man:       pod2man.PL ../lib/Config.pm
+       $(PERL) -I ../lib pod2man.PL
+
+pod2text:      pod2text.PL ../lib/Config.pm
+       $(PERL) -I ../lib pod2text.PL
+
+checkpods:     checkpods.PL ../lib/Config.pm
+       $(PERL) -I ../lib checkpods.PL
+
+pod2usage:     pod2usage.PL ../lib/Config.pm
+       $(PERL) -I ../lib pod2usage.PL
+
+podchecker:    podchecker.PL ../lib/Config.pm
+       $(PERL) -I ../lib podchecker.PL
+
+podselect:     podselect.PL ../lib/Config.pm
+       $(PERL) -I ../lib podselect.PL
+
+perlmodlib.pod:        $(PERL) perlmodlib.PL ../mv-if-diff
+       rm -f perlmodlib.tmp
+       $(PERL) -I ../lib perlmodlib.PL
+       sh ../mv-if-diff perlmodlib.tmp perlmodlib.pod
+
+compile: all
+       $(REALPERL) -I../lib ../utils/perlcc -regex 's/$$/.exe/' pod2latex pod2man pod2text checkpods -prog -verbose dcf -log ../compilelog;
+
+!NO!SUBS!
diff --git a/pod/buildtoc b/pod/buildtoc
deleted file mode 100644 (file)
index 58bfc54..0000000
+++ /dev/null
@@ -1,259 +0,0 @@
-use File::Find;
-use Cwd;
-use Text::Wrap;
-
-sub output ($);
-
-@pods = qw(
-          perl perlfaq perlfaq1 perlfaq2 perlfaq3 perlfaq4 perlfaq5
-          perlfaq6 perlfaq7 perlfaq8 perlfaq9 perldelta perldata
-          perlsyn perlop perlre perlrun perlfunc perlvar perlsub
-          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/ }
-
-$/ = '';
-@ARGV = @pods;
-
-($_= <<EOPOD2B) =~ s/^\t//gm && output($_);
-
-       =head1 NAME
-
-       perltoc - perl documentation table of contents
-
-       =head1 DESCRIPTION
-
-       This page provides a brief table of contents for the rest of the Perl
-       documentation set.  It is meant to be scanned quickly or grepped
-       through to locate the proper section you're looking for.
-
-       =head1 BASIC DOCUMENTATION
-
-EOPOD2B
-#' make emacs happy
-
-podset(@pods);
-
-find \&getpods => qw(../lib ../ext);
-
-sub getpods {
-    if (/\.p(od|m)$/) {
-       # Skip .pm files that have corresponding .pod files, and Functions.pm.
-       return if /(.*)\.pm$/ && -f "$1.pod";
-       my $file = $File::Find::name;
-       return if $file eq '../lib/Pod/Functions.pm'; # Used only by pod itself
-
-       die "tut $name" if $file =~ /TUT/;
-       unless (open (F, "< $_\0")) {
-           warn "bogus <$file>: $!";
-           system "ls", "-l", $file;
-       }
-       else {
-           my $line;
-           while ($line = <F>) {
-               if ($line =~ /^=head1\s+NAME\b/) {
-                   push @modpods, $file;
-                   #warn "GOOD $file\n";
-                   return;
-               }
-           }
-           warn "EVIL $file\n";
-       }
-    }
-}
-
-die "no pods" unless @modpods;
-
-for (@modpods) {
-    #($name) = /(\w+)\.p(m|od)$/;
-    $name = path2modname($_);
-    if ($name =~ /^[a-z]/) {
-       push @pragmata, $_;
-    } else {
-       if ($done{$name}++) {
-           # warn "already did $_\n";
-           next;
-       }
-       push @modules, $_;
-       push @modname, $name;
-    }
-}
-
-($_= <<EOPOD2B) =~ s/^\t//gm && output($_);
-
-
-
-       =head1 PRAGMA DOCUMENTATION
-
-EOPOD2B
-
-podset(sort @pragmata);
-
-($_= <<EOPOD2B) =~ s/^\t//gm && output($_);
-
-
-
-       =head1 MODULE DOCUMENTATION
-
-EOPOD2B
-
-podset( @modules[ sort { $modname[$a] cmp $modname[$b] } 0 .. $#modules ] );
-
-($_= <<EOPOD2B) =~ s/^\t//gm;
-
-
-       =head1 AUXILIARY DOCUMENTATION
-
-       Here should be listed all the extra programs' documentation, but they
-       don't all have manual pages yet:
-
-       =over
-
-       =item a2p
-
-       =item s2p
-
-       =item find2perl
-
-       =item h2ph
-
-       =item c2ph
-
-       =item h2xs
-
-       =item xsubpp
-
-       =item pod2man
-
-       =item wrapsuid
-
-       =back
-
-       =head1 AUTHOR
-
-       Larry Wall <F<larry\@wall.org>>, with the help of oodles
-       of other folks.
-
-
-EOPOD2B
-output $_;
-output "\n";                    # flush $LINE
-exit;
-
-sub podset {
-    local @ARGV = @_;
-
-    while(<>) {
-       if (s/^=head1 (NAME)\s*/=head2 /) {
-           $pod = path2modname($ARGV);
-           unhead1();
-           output "\n \n\n=head2 ";
-           $_ = <>;
-           if ( /^\s*$pod\b/ ) {
-               s/$pod\.pm/$pod/;       # '.pm' in NAME !?
-               output $_;
-           } else {
-               s/^/$pod, /;
-               output $_;
-           }
-           next;
-       }
-       if (s/^=head1 (.*)/=item $1/) {
-           unhead2();
-           output "=over\n\n" unless $inhead1;
-           $inhead1 = 1;
-           output $_; nl(); next;
-       }
-       if (s/^=head2 (.*)/=item $1/) {
-           unitem();
-           output "=over\n\n" unless $inhead2;
-           $inhead2 = 1;
-           output $_; nl(); next;
-       }
-       if (s/^=item ([^=].*)/$1/) {
-           next if $pod eq 'perldiag';
-           s/^\s*\*\s*$// && next;
-           s/^\s*\*\s*//;
-           s/\n/ /g;
-           s/\s+$//;
-           next if /^[\d.]+$/;
-           next if $pod eq 'perlmodlib' && /^ftp:/;
-           ##print "=over\n\n" unless $initem;
-           output ", " if $initem;
-           $initem = 1;
-           s/\.$//;
-           s/^-X\b/-I<X>/;
-           output $_; next;
-       }
-       if (s/^=cut\s*\n//) {
-           unhead1();
-           next;
-       }
-    }
-}
-
-sub path2modname {
-    local $_ = shift;
-    s/\.p(m|od)$//;
-    s-.*?/(lib|ext)/--;
-    s-/-::-g;
-    s/(\w+)::\1/$1/;
-    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;
-}
-
-sub unitem {
-    if ($initem) {
-       output "\n\n";
-       ##print "\n\n=back\n\n";
-    }
-    $initem = 0;
-}
-
-sub nl {
-    output "\n";
-}
-
-my $NEWLINE;   # how many newlines have we seen recently
-my $LINE;      # what remains to be printed
-
-sub output ($) {
-    for (split /(\n)/, shift) {
-       if ($_ eq "\n") {
-           if ($LINE) {
-               print wrap('', '', $LINE);
-               $LINE = '';
-           }
-           if ($NEWLINE < 2) {
-               print;
-               $NEWLINE++;
-           }
-       }
-       elsif (/\S/ && length) {
-           $LINE .= $_;
-           $NEWLINE = 0;
-       }
-    }
-}
diff --git a/pod/buildtoc.PL b/pod/buildtoc.PL
new file mode 100644 (file)
index 0000000..762434e
--- /dev/null
@@ -0,0 +1,365 @@
+#!/usr/local/bin/perl
+
+use Config;
+use File::Basename qw(&basename &dirname);
+use Cwd;
+
+# List explicitly here the variables you want Configure to
+# generate.  Metaconfig only looks for shell variables, so you
+# have to mention them as if they were shell variables, not
+# %Config entries.  Thus you write
+#  $startperl
+# to ensure Configure will look for $Config{startperl}.
+
+# This forces PL files to create target in same directory as PL file.
+# This is so that make depend always knows where to find PL derivatives.
+$origdir = cwd;
+chdir(dirname($0));
+($file = basename($0)) =~ s/\.PL$//;
+$file =~ s/\.pl$// if ($^O eq 'os2' or $^O eq 'dos');  # "case-forgiving"
+$file =~ s/\.pl$/.com/ if ($^O eq 'VMS');              # "case-forgiving"
+
+open OUT,">$file" or die "Can't create $file: $!";
+
+print "Extracting $file (with variable substitutions)\n";
+
+# In this section, perl variables will be expanded during extraction.
+# You can use $Config{...} to use Configure variables.
+
+print OUT <<"!GROK!THIS!";
+$Config{'startperl'}
+    eval 'exec perl -S \$0 "\$@"'
+        if 0;
+!GROK!THIS!
+
+# In the following, perl variables are not expanded during extraction.
+
+print OUT <<'!NO!SUBS!';
+
+#
+# buildtoc
+#
+# Build perltoc.pod and sanity check the list of pods against all
+# of the MANIFEST, perl.pod, and ourselves.
+#
+
+use File::Find;
+use Cwd;
+use Text::Wrap;
+
+@PODS = glob("*.pod");
+
+sub output ($);
+
+if (-d "pod") {
+  die "$0: failed to chdir('pod'): $!\n" unless chdir("pod");
+}
+
+@pods = qw(
+          perl perlfaq perlfaq1 perlfaq2 perlfaq3 perlfaq4 perlfaq5
+          perlfaq6 perlfaq7 perlfaq8 perlfaq9 perldelta perldata
+          perlsyn perlop perlre perlrun perlfunc perlvar perlsub
+          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/ }
+@pods{@pods} = ();
+@PODS{@PODS} = ();
+
+open(MANI, "../MANIFEST") || die "$0: opening ../MANIFEST failed: $!";
+while (<MANI>) {
+  if (m!^pod/([^.]+\.pod)\s+!i) {
+     push @MANIPODS, $1;
+  }
+}
+close(MANI);
+@MANIPODS{@MANIPODS} = ();
+
+open(PERLPOD, "perl.pod") || die "$0: opening perl.pod failed: $!\n";
+while (<PERLPOD>) {
+  if (/^For ease of access, /../^\(If you're intending /) {
+       if (/^\s+(perl\w+)\s+Perl /) {
+               push @PERLPODS, "$1.pod";
+       }
+  }
+}
+close(PERLPOD);
+die "$0: could not find the pod listing of perl.pod\n"
+  unless @PERLPODS;
+@PERLPODS{@PERLPODS} = ();
+
+# Cross-check against ourselves
+# Cross-check against the MANIFEST
+# Cross-check against the perl.pod
+
+foreach my $i (sort keys %PODS) {
+  warn "$0: $i exists but is unknown by buildtoc\n"
+       unless exists $pods{$i};
+  warn "$0: $i exists but is unknown by ../MANIFEST\n"
+       unless exists $MANIPODS{$i};
+  warn "$0: $i exists but is unknown by perl.pod\n"
+       unless exists $PERLPODS{$i};
+}
+foreach my $i (sort keys %pods) {
+  warn "$0: $i is known by buildtoc but does not exist\n"
+       unless exists $PODS{$i};
+}
+foreach my $i (sort keys %MANIPODS) {
+  warn "$0: $i is known by ../MANIFEST but does not exist\n"
+       unless exists $PODS{$i};
+}
+foreach my $i (sort keys %PERLPODS) {
+  warn "$0: $i is known by perl.pod but does not exist\n"
+       unless exists $PODS{$i};
+}
+
+# We are ready to rock.
+open(OUT, ">perltoc.pod") || die "$0: creating perltoc.pod failed: $!";
+
+$/ = '';
+@ARGV = @pods;
+
+($_= <<EOPOD2B) =~ s/^\t//gm && output($_);
+
+       =head1 NAME
+
+       perltoc - perl documentation table of contents
+
+       =head1 DESCRIPTION
+
+       This page provides a brief table of contents for the rest of the Perl
+       documentation set.  It is meant to be scanned quickly or grepped
+       through to locate the proper section you're looking for.
+
+       =head1 BASIC DOCUMENTATION
+
+EOPOD2B
+#' make emacs happy
+
+podset(@pods);
+
+find \&getpods => qw(../lib ../ext);
+
+sub getpods {
+    if (/\.p(od|m)$/) {
+       # Skip .pm files that have corresponding .pod files, and Functions.pm.
+       return if /(.*)\.pm$/ && -f "$1.pod";
+       my $file = $File::Find::name;
+       return if $file eq '../lib/Pod/Functions.pm'; # Used only by pod itself
+
+       die "tut $name" if $file =~ /TUT/;
+       unless (open (F, "< $_\0")) {
+           warn "bogus <$file>: $!";
+           system "ls", "-l", $file;
+       }
+       else {
+           my $line;
+           while ($line = <F>) {
+               if ($line =~ /^=head1\s+NAME\b/) {
+                   push @modpods, $file;
+                   #warn "GOOD $file\n";
+                   return;
+               }
+           }
+           warn "$0: $file: cannot find =head1 NAME\n";
+       }
+    }
+}
+
+die "no pods" unless @modpods;
+
+for (@modpods) {
+    #($name) = /(\w+)\.p(m|od)$/;
+    $name = path2modname($_);
+    if ($name =~ /^[a-z]/) {
+       push @pragmata, $_;
+    } else {
+       if ($done{$name}++) {
+           # warn "already did $_\n";
+           next;
+       }
+       push @modules, $_;
+       push @modname, $name;
+    }
+}
+
+($_= <<EOPOD2B) =~ s/^\t//gm && output($_);
+
+
+
+       =head1 PRAGMA DOCUMENTATION
+
+EOPOD2B
+
+podset(sort @pragmata);
+
+($_= <<EOPOD2B) =~ s/^\t//gm && output($_);
+
+
+
+       =head1 MODULE DOCUMENTATION
+
+EOPOD2B
+
+podset( @modules[ sort { $modname[$a] cmp $modname[$b] } 0 .. $#modules ] );
+
+($_= <<EOPOD2B) =~ s/^\t//gm;
+
+
+       =head1 AUXILIARY DOCUMENTATION
+
+       Here should be listed all the extra programs' documentation, but they
+       don't all have manual pages yet:
+
+       =over
+
+       =item a2p
+
+       =item s2p
+
+       =item find2perl
+
+       =item h2ph
+
+       =item c2ph
+
+       =item h2xs
+
+       =item xsubpp
+
+       =item pod2man
+
+       =item wrapsuid
+
+       =back
+
+       =head1 AUTHOR
+
+       Larry Wall <F<larry\@wall.org>>, with the help of oodles
+       of other folks.
+
+
+EOPOD2B
+output $_;
+output "\n";                    # flush $LINE
+exit;
+
+sub podset {
+    local @ARGV = @_;
+
+    while(<>) {
+       if (s/^=head1 (NAME)\s*/=head2 /) {
+           $pod = path2modname($ARGV);
+           unhead1();
+           output "\n \n\n=head2 ";
+           $_ = <>;
+           if ( /^\s*$pod\b/ ) {
+               s/$pod\.pm/$pod/;       # '.pm' in NAME !?
+               output $_;
+           } else {
+               s/^/$pod, /;
+               output $_;
+           }
+           next;
+       }
+       if (s/^=head1 (.*)/=item $1/) {
+           unhead2();
+           output "=over\n\n" unless $inhead1;
+           $inhead1 = 1;
+           output $_; nl(); next;
+       }
+       if (s/^=head2 (.*)/=item $1/) {
+           unitem();
+           output "=over\n\n" unless $inhead2;
+           $inhead2 = 1;
+           output $_; nl(); next;
+       }
+       if (s/^=item ([^=].*)/$1/) {
+           next if $pod eq 'perldiag';
+           s/^\s*\*\s*$// && next;
+           s/^\s*\*\s*//;
+           s/\n/ /g;
+           s/\s+$//;
+           next if /^[\d.]+$/;
+           next if $pod eq 'perlmodlib' && /^ftp:/;
+           ##print "=over\n\n" unless $initem;
+           output ", " if $initem;
+           $initem = 1;
+           s/\.$//;
+           s/^-X\b/-I<X>/;
+           output $_; next;
+       }
+       if (s/^=cut\s*\n//) {
+           unhead1();
+           next;
+       }
+    }
+}
+
+sub path2modname {
+    local $_ = shift;
+    s/\.p(m|od)$//;
+    s-.*?/(lib|ext)/--;
+    s-/-::-g;
+    s/(\w+)::\1/$1/;
+    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;
+}
+
+sub unitem {
+    if ($initem) {
+       output "\n\n";
+       ##print "\n\n=back\n\n";
+    }
+    $initem = 0;
+}
+
+sub nl {
+    output "\n";
+}
+
+my $NEWLINE;   # how many newlines have we seen recently
+my $LINE;      # what remains to be printed
+
+sub output ($) {
+    for (split /(\n)/, shift) {
+       if ($_ eq "\n") {
+           if ($LINE) {
+               print OUT wrap('', '', $LINE);
+               $LINE = '';
+           }
+           if ($NEWLINE < 2) {
+               print OUT;
+               $NEWLINE++;
+           }
+       }
+       elsif (/\S/ && length) {
+           $LINE .= $_;
+           $NEWLINE = 0;
+       }
+    }
+}
+
+!NO!SUBS!
+
index 49fdbf2..b7032a0 100644 (file)
@@ -12,8 +12,7 @@ B<perl>       S<[ B<-sTuU> ]> S<[ B<-hv> ] [ B<-V>[:I<configvar>] ]>
     S<[ B<-i>[I<extension>] ]> S<[ B<-e> I<'command'> ] 
     [ B<--> ] [ I<programfile> ] [ I<argument> ]...>
 
-For ease of access, the Perl manual has been split up into several
-sections:
+For ease of access, the Perl manual has been split up into several sections:
 
     perl               Perl overview (this section)
     perldelta          Perl changes since previous version
index 5768081..b33376e 100644 (file)
@@ -1387,25 +1387,26 @@ delete(), each(), values() and hash iteration are faster
 
 =item New or Changed Diagnostics
 
-"%s" variable %s masks earlier declaration in same %s, "my sub" not yet
-implemented, "our" variable %s redeclared, '!' allowed only after types %s,
-/ cannot take a count, / must be followed by a, A or Z, / must be followed
-by a*, A* or Z*, / must follow a numeric type, /%s/: Unrecognized escape
-\\%c passed through, /%s/: Unrecognized escape \\%c in character class
-passed through, /%s/ should probably be written as "%s", %s() called too
-early to check prototype, %s argument is not a HASH or ARRAY element, %s
-argument is not a HASH or ARRAY element or slice, %s argument is not a
-subroutine name, %s package attribute may clash with future reserved word:
-%s, (in cleanup) %s, <> should be quotes, Attempt to join self, Bad evalled
-substitution pattern, Bad realloc() ignored, Bareword found in conditional,
-Binary number > 0b11111111111111111111111111111111 non-portable, Bit vector
-size > 32 non-portable, Buffer overflow in prime_env_iter: %s, Can't check
-filesystem of script "%s", Can't declare class for non-scalar %s in "%s",
-Can't declare %s in "%s", Can't ignore signal CHLD, forcing to default,
-Can't modify non-lvalue subroutine call, Can't read CRTL environ, Can't
-remove %s: %s, skipping file, Can't return %s from lvalue subroutine, Can't
-weaken a nonreference, Character class [:%s:] unknown, Character class
-syntax [%s] belongs inside character classes, Constant is not %s reference,
+(perhaps you forgot to load "%s"?), "%s" variable %s masks earlier
+declaration in same %s, "my sub" not yet implemented, "our" variable %s
+redeclared, '!' allowed only after types %s, / cannot take a count, / must
+be followed by a, A or Z, / must be followed by a*, A* or Z*, / must follow
+a numeric type, /%s/: Unrecognized escape \\%c passed through, /%s/:
+Unrecognized escape \\%c in character class passed through, /%s/ should
+probably be written as "%s", %s() called too early to check prototype, %s
+argument is not a HASH or ARRAY element, %s argument is not a HASH or ARRAY
+element or slice, %s argument is not a subroutine name, %s package
+attribute may clash with future reserved word: %s, (in cleanup) %s, <>
+should be quotes, Attempt to join self, Bad evalled substitution pattern,
+Bad realloc() ignored, Bareword found in conditional, Binary number >
+0b11111111111111111111111111111111 non-portable, Bit vector size > 32
+non-portable, Buffer overflow in prime_env_iter: %s, Can't check filesystem
+of script "%s", Can't declare class for non-scalar %s in "%s", Can't
+declare %s in "%s", Can't ignore signal CHLD, forcing to default, Can't
+modify non-lvalue subroutine call, Can't read CRTL environ, Can't remove
+%s: %s, skipping file, Can't return %s from lvalue subroutine, Can't weaken
+a nonreference, Character class [:%s:] unknown, Character class syntax [%s]
+belongs inside character classes, Constant is not %s reference,
 constant(%s): %s, CORE::%s is not a keyword, defined(@array) is deprecated,
 defined(%hash) is deprecated, Did not produce a valid header, (Did you mean
 "local" instead of "our"?), Document contains no data, entering effective
@@ -3332,7 +3333,7 @@ program
 
 =back
 
-=item Embedding Perl under Win32
+=item Embedding Perl under Windows
 
 =item MORAL
 
@@ -3813,48 +3814,49 @@ B::Stash, B::Terse, B::Xref
 =item DESCRIPTION
 
 AvFILL, av_clear, av_extend, av_fetch, av_len, av_make, av_pop, av_push,
-av_shift, av_store, av_undef, av_unshift, call_argv, call_method, call_pv,
-call_sv, CLASS, Copy, croak, CvSTASH, dMARK, dORIGMARK, dSP, dXSARGS,
-dXSI32, ENTER, eval_pv, eval_sv, EXTEND, fbm_compile, fbm_instr, FREETMPS,
-get_av, get_cv, get_hv, get_sv, GIMME, GIMME_V, GvSV, gv_fetchmeth,
-gv_fetchmethod, gv_fetchmethod_autoload, gv_stashpv, gv_stashsv, G_ARRAY,
-G_DISCARD, G_EVAL, G_NOARGS, G_SCALAR, G_VOID, HEf_SVKEY, HeHASH, HeKEY,
-HeKLEN, HePV, HeSVKEY, HeSVKEY_force, HeSVKEY_set, HeVAL, HvNAME, hv_clear,
-hv_delete, hv_delete_ent, hv_exists, hv_exists_ent, hv_fetch, hv_fetch_ent,
-hv_iterinit, hv_iterkey, hv_iterkeysv, hv_iternext, hv_iternextsv,
-hv_iterval, hv_magic, hv_store, hv_store_ent, hv_undef, isALNUM, isALPHA,
-isDIGIT, isLOWER, isSPACE, isUPPER, items, ix, LEAVE, looks_like_number,
-MARK, mg_clear, mg_copy, mg_find, mg_free, mg_get, mg_length, mg_magical,
-mg_set, Move, New, newAV, Newc, newCONSTSUB, newHV, newRV_inc, newRV_noinc,
-NEWSV, newSViv, newSVnv, newSVpv, newSVpvf, newSVpvn, newSVrv, newSVsv,
-newSVuv, newXS, newXSproto, Newz, Nullav, Nullch, Nullcv, Nullhv, Nullsv,
-ORIGMARK, perl_alloc, perl_construct, perl_destruct, perl_free, perl_parse,
-perl_run, PL_DBsingle, PL_DBsub, PL_DBtrace, PL_dowarn, PL_modglobal,
-PL_na, PL_sv_no, PL_sv_undef, PL_sv_yes, POPi, POPl, POPn, POPp, POPs,
-PUSHi, PUSHMARK, PUSHn, PUSHp, PUSHs, PUSHu, PUTBACK, Renew, Renewc,
-require_pv, RETVAL, Safefree, savepv, savepvn, SAVETMPS, SP, SPAGAIN, ST,
-strEQ, strGE, strGT, strLE, strLT, strNE, strnEQ, strnNE, StructCopy,
-SvCUR, SvCUR_set, SvEND, SvGETMAGIC, SvGROW, SvIOK, SvIOKp, SvIOK_off,
-SvIOK_on, SvIOK_only, SvIV, SvIVX, SvLEN, SvLOCK, SvNIOK, SvNIOKp,
-SvNIOK_off, SvNOK, SvNOKp, SvNOK_off, SvNOK_on, SvNOK_only, SvNV, SvNVX,
-SvOK, SvOOK, SvPOK, SvPOKp, SvPOK_off, SvPOK_on, SvPOK_only, SvPV, SvPVX,
-SvPV_force, SvPV_nolen, SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK,
-SvROK_off, SvROK_on, SvRV, SvSETMAGIC, SvSetSV, SvSetSV_nosteal, SvSTASH,
-SvTAINT, SvTAINTED, SvTAINTED_off, SvTAINTED_on, SvTRUE, SvTYPE, svtype,
-SVt_IV, SVt_NV, SVt_PV, SVt_PVAV, SVt_PVCV, SVt_PVHV, SVt_PVMG, SvUNLOCK,
-SvUPGRADE, SvUV, SvUVX, sv_2mortal, sv_bless, sv_catpv, sv_catpvf,
-sv_catpvf_mg, sv_catpvn, sv_catpvn_mg, sv_catpv_mg, sv_catsv, sv_catsv_mg,
-sv_chop, sv_cmp, sv_dec, sv_derived_from, sv_eq, sv_grow, sv_inc,
-sv_insert, sv_isa, sv_isobject, sv_len, sv_magic, sv_mortalcopy,
-sv_newmortal, sv_setiv, sv_setiv_mg, sv_setnv, sv_setnv_mg, sv_setpv,
-sv_setpvf, sv_setpvf_mg, sv_setpviv, sv_setpviv_mg, sv_setpvn,
-sv_setpvn_mg, sv_setpv_mg, sv_setref_iv, sv_setref_nv, sv_setref_pv,
-sv_setref_pvn, sv_setsv, sv_setsv_mg, sv_setuv, sv_setuv_mg, sv_unref,
-sv_upgrade, sv_usepvn, sv_usepvn_mg, sv_vcatpvfn, sv_vsetpvfn, THIS,
-toLOWER, toUPPER, warn, XPUSHi, XPUSHn, XPUSHp, XPUSHs, XPUSHu, XS,
-XSRETURN, XSRETURN_EMPTY, XSRETURN_IV, XSRETURN_NO, XSRETURN_NV,
-XSRETURN_PV, XSRETURN_UNDEF, XSRETURN_YES, XST_mIV, XST_mNO, XST_mNV,
-XST_mPV, XST_mUNDEF, XST_mYES, XS_VERSION, XS_VERSION_BOOTCHECK, Zero
+av_shift, av_store, av_undef, av_unshift, bytes_to_utf8, call_argv,
+call_method, call_pv, call_sv, CLASS, Copy, croak, CvSTASH, dMARK,
+dORIGMARK, dSP, dXSARGS, dXSI32, ENTER, eval_pv, eval_sv, EXTEND,
+fbm_compile, fbm_instr, FREETMPS, get_av, get_cv, get_hv, get_sv, GIMME,
+GIMME_V, GvSV, gv_fetchmeth, gv_fetchmethod, gv_fetchmethod_autoload,
+gv_stashpv, gv_stashsv, G_ARRAY, G_DISCARD, G_EVAL, G_NOARGS, G_SCALAR,
+G_VOID, HEf_SVKEY, HeHASH, HeKEY, HeKLEN, HePV, HeSVKEY, HeSVKEY_force,
+HeSVKEY_set, HeVAL, HvNAME, hv_clear, hv_delete, hv_delete_ent, hv_exists,
+hv_exists_ent, hv_fetch, hv_fetch_ent, hv_iterinit, hv_iterkey,
+hv_iterkeysv, hv_iternext, hv_iternextsv, hv_iterval, hv_magic, hv_store,
+hv_store_ent, hv_undef, isALNUM, isALPHA, isDIGIT, isLOWER, isSPACE,
+isUPPER, items, ix, LEAVE, looks_like_number, MARK, mg_clear, mg_copy,
+mg_find, mg_free, mg_get, mg_length, mg_magical, mg_set, Move, New, newAV,
+Newc, newCONSTSUB, newHV, newRV_inc, newRV_noinc, NEWSV, newSViv, newSVnv,
+newSVpv, newSVpvf, newSVpvn, newSVrv, newSVsv, newSVuv, newXS, newXSproto,
+Newz, Nullav, Nullch, Nullcv, Nullhv, Nullsv, ORIGMARK, perl_alloc,
+perl_construct, perl_destruct, perl_free, perl_parse, perl_run,
+PL_DBsingle, PL_DBsub, PL_DBtrace, PL_dowarn, PL_modglobal, PL_na,
+PL_sv_no, PL_sv_undef, PL_sv_yes, POPi, POPl, POPn, POPp, POPs, PUSHi,
+PUSHMARK, PUSHn, PUSHp, PUSHs, PUSHu, PUTBACK, Renew, Renewc, require_pv,
+RETVAL, Safefree, savepv, savepvn, SAVETMPS, SP, SPAGAIN, ST, strEQ, strGE,
+strGT, strLE, strLT, strNE, strnEQ, strnNE, StructCopy, SvCUR, SvCUR_set,
+SvEND, SvGETMAGIC, SvGROW, SvIOK, SvIOKp, SvIOK_off, SvIOK_on, SvIOK_only,
+SvIV, SvIVX, SvLEN, SvLOCK, SvNIOK, SvNIOKp, SvNIOK_off, SvNOK, SvNOKp,
+SvNOK_off, SvNOK_on, SvNOK_only, SvNV, SvNVX, SvOK, SvOOK, SvPOK, SvPOKp,
+SvPOK_off, SvPOK_on, SvPOK_only, SvPV, SvPVX, SvPV_force, SvPV_nolen,
+SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK, SvROK_off, SvROK_on, SvRV,
+SvSETMAGIC, SvSetSV, SvSetSV_nosteal, SvSTASH, SvTAINT, SvTAINTED,
+SvTAINTED_off, SvTAINTED_on, SvTRUE, SvTYPE, svtype, SVt_IV, SVt_NV,
+SVt_PV, SVt_PVAV, SVt_PVCV, SVt_PVHV, SVt_PVMG, SvUNLOCK, SvUPGRADE, SvUV,
+SvUVX, sv_2mortal, sv_bless, sv_catpv, sv_catpvf, sv_catpvf_mg, sv_catpvn,
+sv_catpvn_mg, sv_catpv_mg, sv_catsv, sv_catsv_mg, sv_chop, sv_cmp, sv_dec,
+sv_derived_from, sv_eq, sv_grow, sv_inc, sv_insert, sv_isa, sv_isobject,
+sv_len, sv_magic, sv_mortalcopy, sv_newmortal, sv_setiv, sv_setiv_mg,
+sv_setnv, sv_setnv_mg, sv_setpv, sv_setpvf, sv_setpvf_mg, sv_setpviv,
+sv_setpviv_mg, sv_setpvn, sv_setpvn_mg, sv_setpv_mg, sv_setref_iv,
+sv_setref_nv, sv_setref_pv, sv_setref_pvn, sv_setsv, sv_setsv_mg, sv_setuv,
+sv_setuv_mg, sv_unref, sv_upgrade, sv_usepvn, sv_usepvn_mg, sv_vcatpvfn,
+sv_vsetpvfn, THIS, toLOWER, toUPPER, U8 *s, utf8_to_bytes, warn, XPUSHi,
+XPUSHn, XPUSHp, XPUSHs, XPUSHu, XS, XSRETURN, XSRETURN_EMPTY, XSRETURN_IV,
+XSRETURN_NO, XSRETURN_NV, XSRETURN_PV, XSRETURN_UNDEF, XSRETURN_YES,
+XST_mIV, XST_mNO, XST_mNV, XST_mPV, XST_mUNDEF, XST_mYES, XS_VERSION,
+XS_VERSION_BOOTCHECK, Zero
 
 =item AUTHORS
 
@@ -4145,30 +4147,6 @@ double
 
 =back
 
-=head2 lib - manipulate @INC at compile time
-
-=over
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over
-
-=item Adding directories to @INC
-
-=item Deleting directories from @INC
-
-=item Restoring original @INC
-
-=back
-
-=item SEE ALSO
-
-=item AUTHOR
-
-=back
-
 =head2 locale - Perl pragma to use and avoid POSIX locales for built-in
 operations
 
@@ -4290,32 +4268,6 @@ integer, float, binary, q, qr
 
 =back
 
-=head2 pwent - Perl pragma to control the pwent functions
-
-=over
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=over
-
-=item subpragma shadow_password
-
-=back
-
-=back
-
-=head2 re - Perl pragma to alter regular expression behaviour
-
-=over
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=back
-
 =head2 sigtrap - Perl pragma to enable simple signal handling
 
 =over
@@ -4872,18 +4824,6 @@ C<-oFILENAME>, C<-r>, C<-D[tO]>
 
 =back
 
-=head2 Bblock, B::Bblock - Walk basic blocks
-
-=over
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item AUTHOR
-
-=back
-
 =head2 Benchmark - benchmark running times of Perl code
 
 =over
@@ -4942,29 +4882,6 @@ STYLE ] ), cmpthese ( RESULTSHASHREF ), countit(TIME, CODE), disablecache (
 
 =back
 
-=head2 Bytecode, B::Bytecode - Perl compiler's bytecode backend
-
-=over
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item OPTIONS
-
-B<-ofilename>, B<-afilename>, B<-->, B<-f>, B<-fcompress-nullops>,
-B<-fomit-sequence-numbers>, B<-fbypass-nullops>, B<-On>, B<-D>, B<-Do>,
-B<-Db>, B<-Da>, B<-DC>, B<-S>, B<-Ppackage>    Stores package in the
-output.    =back
-
-=item EXAMPLES
-
-=item BUGS
-
-=item AUTHORS
-
-=back
-
 =head2 CGI - Simple Common Gateway Interface Class
 
 =over
@@ -5543,275 +5460,6 @@ Example 1, Example 2, Example 3
 
 =back
 
-=head2 Config - access Perl configuration information
-
-=over
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-myconfig(), config_sh(), config_vars(@names)
-
-=item EXAMPLE
-
-=item WARNING
-
-=item GLOSSARY
-
-=over
-
-=item _
-
-C<_a>, C<_exe>, C<_o>
-
-=item a
-
-C<afs>, C<alignbytes>, C<ansi2knr>, C<aphostname>, C<api_revision>,
-C<api_subversion>, C<api_version>, C<api_versionstring>, C<ar>, C<archlib>,
-C<archlibexp>, C<archname64>, C<archname>, C<archobjs>, C<awk>
-
-=item b
-
-C<baserev>, C<bash>, C<bin>, C<bincompat5005>, C<binexp>, C<bison>,
-C<byacc>, C<byteorder>
-
-=item c
-
-C<c>, C<castflags>, C<cat>, C<cc>, C<cccdlflags>, C<ccdlflags>, C<ccflags>,
-C<ccsymbols>, C<cf_by>, C<cf_email>, C<cf_time>, C<charsize>, C<chgrp>,
-C<chmod>, C<chown>, C<clocktype>, C<comm>, C<compress>
-
-=item C
-
-C<CONFIGDOTSH>, C<contains>, C<cp>, C<cpio>, C<cpp>, C<cpp_stuff>,
-C<cppccsymbols>, C<cppflags>, C<cpplast>, C<cppminus>, C<cpprun>,
-C<cppstdin>, C<cppsymbols>, C<crosscompile>, C<cryptlib>, C<csh>
-
-=item d
-
-C<d_access>, C<d_accessx>, C<d_alarm>, C<d_archlib>, C<d_atolf>,
-C<d_atoll>, C<d_attribut>, C<d_bcmp>, C<d_bcopy>, C<d_bincompat5005>,
-C<d_bsd>, C<d_bsdgetpgrp>, C<d_bsdsetpgrp>, C<d_bzero>, C<d_casti32>,
-C<d_castneg>, C<d_charvspr>, C<d_chown>, C<d_chroot>, C<d_chsize>,
-C<d_closedir>, C<d_const>, C<d_crypt>, C<d_csh>, C<d_cuserid>,
-C<d_dbl_dig>, C<d_difftime>, C<d_dirnamlen>, C<d_dlerror>, C<d_dlopen>,
-C<d_dlsymun>, C<d_dosuid>, C<d_drand48proto>, C<d_dup2>, C<d_eaccess>,
-C<d_endgrent>, C<d_endhent>, C<d_endnent>, C<d_endpent>, C<d_endpwent>,
-C<d_endsent>, C<d_eofnblk>, C<d_eunice>, C<d_fchmod>, C<d_fchown>,
-C<d_fcntl>, C<d_fd_macros>, C<d_fd_set>, C<d_fds_bits>, C<d_fgetpos>,
-C<d_flexfnam>, C<d_flock>, C<d_fork>, C<d_fpathconf>, C<d_fpos64_t>,
-C<d_frexpl>, C<d_fs_data_s>, C<d_fseeko>, C<d_fsetpos>, C<d_fstatfs>,
-C<d_fstatvfs>, C<d_ftello>, C<d_ftime>, C<d_Gconvert>, C<d_getcwd>,
-C<d_getespwnam>, C<d_getfsstat>, C<d_getgrent>, C<d_getgrps>,
-C<d_gethbyaddr>, C<d_gethbyname>, C<d_gethent>, C<d_gethname>,
-C<d_gethostprotos>, C<d_getlogin>, C<d_getmnt>, C<d_getmntent>,
-C<d_getnbyaddr>, C<d_getnbyname>, C<d_getnent>, C<d_getnetprotos>,
-C<d_getpbyname>, C<d_getpbynumber>, C<d_getpent>, C<d_getpgid>,
-C<d_getpgrp2>, C<d_getpgrp>, C<d_getppid>, C<d_getprior>,
-C<d_getprotoprotos>, C<d_getprpwnam>, C<d_getpwent>, C<d_getsbyname>,
-C<d_getsbyport>, C<d_getsent>, C<d_getservprotos>, C<d_getspnam>,
-C<d_gettimeod>, C<d_gnulibc>, C<d_grpasswd>, C<d_hasmntopt>, C<d_htonl>,
-C<d_iconv>, C<d_index>, C<d_inetaton>, C<d_int64_t>, C<d_isascii>,
-C<d_isnan>, C<d_isnanl>, C<d_killpg>, C<d_lchown>, C<d_ldbl_dig>,
-C<d_link>, C<d_locconv>, C<d_lockf>, C<d_longdbl>, C<d_longlong>,
-C<d_lseekproto>, C<d_lstat>, C<d_madvise>, C<d_mblen>, C<d_mbstowcs>,
-C<d_mbtowc>, C<d_memchr>, C<d_memcmp>, C<d_memcpy>, C<d_memmove>,
-C<d_memset>, C<d_mkdir>, C<d_mkdtemp>, C<d_mkfifo>, C<d_mkstemp>,
-C<d_mkstemps>, C<d_mktime>, C<d_mmap>, C<d_modfl>, C<d_mprotect>, C<d_msg>,
-C<d_msg_ctrunc>, C<d_msg_dontroute>, C<d_msg_oob>, C<d_msg_peek>,
-C<d_msg_proxy>, C<d_msgctl>, C<d_msgget>, C<d_msgrcv>, C<d_msgsnd>,
-C<d_msync>, C<d_munmap>, C<d_mymalloc>, C<d_nice>, C<d_nv_preserves_uv>,
-C<d_nv_preserves_uv_bits>, C<d_off64_t>, C<d_old_pthread_create_joinable>,
-C<d_oldpthreads>, C<d_oldsock>, C<d_open3>, C<d_pathconf>, C<d_pause>,
-C<d_perl_otherlibdirs>, C<d_phostname>, C<d_pipe>, C<d_poll>,
-C<d_portable>, C<d_PRId64>, C<d_PRIeldbl>, C<d_PRIEldbl>, C<d_PRIfldbl>,
-C<d_PRIFldbl>, C<d_PRIgldbl>, C<d_PRIGldbl>, C<d_PRIi64>, C<d_PRIo64>,
-C<d_PRIu64>, C<d_PRIx64>, C<d_PRIX64>, C<d_pthread_yield>, C<d_pwage>,
-C<d_pwchange>, C<d_pwclass>, C<d_pwcomment>, C<d_pwexpire>, C<d_pwgecos>,
-C<d_pwpasswd>, C<d_pwquota>, C<d_qgcvt>, C<d_quad>, C<d_readdir>,
-C<d_readlink>, C<d_rename>, C<d_rewinddir>, C<d_rmdir>, C<d_safebcpy>,
-C<d_safemcpy>, C<d_sanemcmp>, C<d_sched_yield>, C<d_scm_rights>,
-C<d_seekdir>, C<d_select>, C<d_sem>, C<d_semctl>, C<d_semctl_semid_ds>,
-C<d_semctl_semun>, C<d_semget>, C<d_semop>, C<d_setegid>, C<d_seteuid>,
-C<d_setgrent>, C<d_setgrps>, C<d_sethent>, C<d_setlinebuf>, C<d_setlocale>,
-C<d_setnent>, C<d_setpent>, C<d_setpgid>, C<d_setpgrp2>, C<d_setpgrp>,
-C<d_setprior>, C<d_setpwent>, C<d_setregid>, C<d_setresgid>,
-C<d_setresuid>, C<d_setreuid>, C<d_setrgid>, C<d_setruid>, C<d_setsent>,
-C<d_setsid>, C<d_setvbuf>, C<d_sfio>, C<d_shm>, C<d_shmat>,
-C<d_shmatprototype>, C<d_shmctl>, C<d_shmdt>, C<d_shmget>, C<d_sigaction>,
-C<d_sigsetjmp>, C<d_socket>, C<d_socklen_t>, C<d_sockpair>, C<d_sqrtl>,
-C<d_statblks>, C<d_statfs_f_flags>, C<d_statfs_s>, C<d_statvfs>,
-C<d_stdio_cnt_lval>, C<d_stdio_ptr_lval>, C<d_stdio_stream_array>,
-C<d_stdiobase>, C<d_stdstdio>, C<d_strchr>, C<d_strcoll>, C<d_strctcpy>,
-C<d_strerrm>, C<d_strerror>, C<d_strtod>, C<d_strtol>, C<d_strtold>,
-C<d_strtoll>, C<d_strtoul>, C<d_strtoull>, C<d_strtouq>, C<d_strxfrm>,
-C<d_suidsafe>, C<d_symlink>, C<d_syscall>, C<d_sysconf>, C<d_sysernlst>,
-C<d_syserrlst>, C<d_system>, C<d_tcgetpgrp>, C<d_tcsetpgrp>, C<d_telldir>,
-C<d_telldirproto>, C<d_time>, C<d_times>, C<d_truncate>, C<d_tzname>,
-C<d_umask>, C<d_uname>, C<d_union_semun>, C<d_ustat>, C<d_vendorarch>,
-C<d_vendorbin>, C<d_vendorlib>, C<d_vfork>, C<d_void_closedir>,
-C<d_voidsig>, C<d_voidtty>, C<d_volatile>, C<d_vprintf>, C<d_wait4>,
-C<d_waitpid>, C<d_wcstombs>, C<d_wctomb>, C<d_xenix>, C<date>,
-C<db_hashtype>, C<db_prefixtype>, C<defvoidused>, C<direntrytype>,
-C<dlext>, C<dlsrc>, C<doublesize>, C<drand01>, C<dynamic_ext>
-
-=item e
-
-C<eagain>, C<ebcdic>, C<echo>, C<egrep>, C<emacs>, C<eunicefix>,
-C<exe_ext>, C<expr>, C<extensions>
-
-=item f
-
-C<fflushall>, C<fflushNULL>, C<find>, C<firstmakefile>, C<flex>,
-C<fpossize>, C<fpostype>, C<freetype>, C<full_ar>, C<full_csh>, C<full_sed>
-
-=item g
-
-C<gccversion>, C<gidformat>, C<gidsign>, C<gidsize>, C<gidtype>,
-C<glibpth>, C<grep>, C<groupcat>, C<groupstype>, C<gzip>
-
-=item h
-
-C<h_fcntl>, C<h_sysfile>, C<hint>, C<hostcat>, C<huge>
-
-=item i
-
-C<i16size>, C<i16type>, C<i32size>, C<i32type>, C<i64size>, C<i64type>,
-C<i8size>, C<i8type>, C<i_arpainet>, C<i_bsdioctl>, C<i_db>, C<i_dbm>,
-C<i_dirent>, C<i_dld>, C<i_dlfcn>, C<i_fcntl>, C<i_float>, C<i_gdbm>,
-C<i_grp>, C<i_iconv>, C<i_ieeefp>, C<i_inttypes>, C<i_limits>, C<i_locale>,
-C<i_machcthr>, C<i_malloc>, C<i_math>, C<i_memory>, C<i_mntent>, C<i_ndbm>,
-C<i_netdb>, C<i_neterrno>, C<i_netinettcp>, C<i_niin>, C<i_poll>,
-C<i_prot>, C<i_pthread>, C<i_pwd>, C<i_rpcsvcdbm>, C<i_sfio>, C<i_sgtty>,
-C<i_shadow>, C<i_socks>, C<i_stdarg>, C<i_stddef>, C<i_stdlib>,
-C<i_string>, C<i_sunmath>, C<i_sysaccess>, C<i_sysdir>, C<i_sysfile>,
-C<i_sysfilio>, C<i_sysin>, C<i_sysioctl>, C<i_syslog>, C<i_sysmman>,
-C<i_sysmode>, C<i_sysmount>, C<i_sysndir>, C<i_sysparam>, C<i_sysresrc>,
-C<i_syssecrt>, C<i_sysselct>, C<i_syssockio>, C<i_sysstat>, C<i_sysstatfs>,
-C<i_sysstatvfs>, C<i_systime>, C<i_systimek>, C<i_systimes>, C<i_systypes>,
-C<i_sysuio>, C<i_sysun>, C<i_sysutsname>, C<i_sysvfs>, C<i_syswait>,
-C<i_termio>, C<i_termios>, C<i_time>, C<i_unistd>, C<i_ustat>, C<i_utime>,
-C<i_values>, C<i_varargs>, C<i_varhdr>, C<i_vfork>,
-C<ignore_versioned_solibs>, C<inc_version_list>, C<inc_version_list_init>,
-C<incpath>, C<inews>, C<installarchlib>, C<installbin>, C<installman1dir>,
-C<installman3dir>, C<installprefix>, C<installprefixexp>,
-C<installprivlib>, C<installscript>, C<installsitearch>, C<installsitebin>,
-C<installsitelib>, C<installstyle>, C<installusrbinperl>,
-C<installvendorarch>, C<installvendorbin>, C<installvendorlib>, C<intsize>,
-C<ivdformat>, C<ivsize>, C<ivtype>
-
-=item k
-
-C<known_extensions>, C<ksh>
-
-=item l
-
-C<large>, C<ld>, C<lddlflags>, C<ldflags>, C<ldlibpthname>, C<less>,
-C<lib_ext>, C<libc>, C<libperl>, C<libpth>, C<libs>, C<libsdirs>,
-C<libsfiles>, C<libsfound>, C<libspath>, C<libswanted>, C<line>, C<lint>,
-C<lkflags>, C<ln>, C<lns>, C<locincpth>, C<loclibpth>, C<longdblsize>,
-C<longlongsize>, C<longsize>, C<lp>, C<lpr>, C<ls>, C<lseeksize>,
-C<lseektype>
-
-=item m
-
-C<mail>, C<mailx>, C<make>, C<make_set_make>, C<mallocobj>, C<mallocsrc>,
-C<malloctype>, C<man1dir>, C<man1direxp>, C<man1ext>, C<man3dir>,
-C<man3direxp>, C<man3ext>
-
-=item M
-
-C<Mcc>, C<medium>, C<mips_type>, C<mkdir>, C<mmaptype>, C<models>,
-C<modetype>, C<more>, C<multiarch>, C<mv>, C<myarchname>, C<mydomain>,
-C<myhostname>, C<myuname>
-
-=item n
-
-C<n>, C<netdb_hlen_type>, C<netdb_host_type>, C<netdb_name_type>,
-C<netdb_net_type>, C<nm>, C<nm_opt>, C<nm_so_opt>, C<nonxs_ext>, C<nroff>,
-C<nvsize>, C<nvtype>
-
-=item o
-
-C<o_nonblock>, C<obj_ext>, C<old_pthread_create_joinable>, C<optimize>,
-C<orderlib>, C<osname>, C<osvers>, C<otherlibdirs>
-
-=item p
-
-C<package>, C<pager>, C<passcat>, C<patchlevel>, C<path_sep>, C<perl5>,
-C<perl>
-
-=item P
-
-C<PERL_REVISION>, C<PERL_SUBVERSION>, C<PERL_VERSION>, C<perladmin>,
-C<perlpath>, C<pg>, C<phostname>, C<pidtype>, C<plibpth>, C<pm_apiversion>,
-C<pmake>, C<pr>, C<prefix>, C<prefixexp>, C<privlib>, C<privlibexp>,
-C<prototype>, C<ptrsize>
-
-=item q
-
-C<quadkind>, C<quadtype>
-
-=item r
-
-C<randbits>, C<randfunc>, C<randseedtype>, C<ranlib>, C<rd_nodata>,
-C<revision>, C<rm>, C<rmail>, C<runnm>
-
-=item s
-
-C<sched_yield>, C<scriptdir>, C<scriptdirexp>, C<sed>, C<seedfunc>,
-C<selectminbits>, C<selecttype>, C<sendmail>, C<sh>, C<shar>, C<sharpbang>,
-C<shmattype>, C<shortsize>, C<shrpenv>, C<shsharp>, C<sig_count>,
-C<sig_name>, C<sig_name_init>, C<sig_num>, C<sig_num_init>, C<signal_t>,
-C<sitearch>, C<sitearchexp>, C<sitebin>, C<sitebinexp>, C<sitelib>,
-C<sitelib_stem>, C<sitelibexp>, C<siteprefix>, C<siteprefixexp>,
-C<sizesize>, C<sizetype>, C<sleep>, C<smail>, C<small>, C<so>,
-C<sockethdr>, C<socketlib>, C<socksizetype>, C<sort>, C<spackage>,
-C<spitshell>, C<split>, C<sPRId64>, C<sPRIeldbl>, C<sPRIEldbl>,
-C<sPRIfldbl>, C<sPRIFldbl>, C<sPRIgldbl>, C<sPRIGldbl>, C<sPRIi64>,
-C<sPRIo64>, C<sPRIu64>, C<sPRIx64>, C<sPRIX64>, C<src>, C<ssizetype>,
-C<startperl>, C<startsh>, C<static_ext>, C<stdchar>, C<stdio_base>,
-C<stdio_bufsiz>, C<stdio_cnt>, C<stdio_filbuf>, C<stdio_ptr>,
-C<stdio_stream_array>, C<strings>, C<submit>, C<subversion>, C<sysman>
-
-=item t
-
-C<tail>, C<tar>, C<tbl>, C<tee>, C<test>, C<timeincl>, C<timetype>,
-C<touch>, C<tr>, C<trnl>, C<troff>
-
-=item u
-
-C<u16size>, C<u16type>, C<u32size>, C<u32type>, C<u64size>, C<u64type>,
-C<u8size>, C<u8type>, C<uidformat>, C<uidsign>, C<uidsize>, C<uidtype>,
-C<uname>, C<uniq>, C<uquadtype>, C<use5005threads>, C<use64bitall>,
-C<use64bitint>, C<usedl>, C<useithreads>, C<uselargefiles>,
-C<uselongdouble>, C<usemorebits>, C<usemultiplicity>, C<usemymalloc>,
-C<usenm>, C<useopcode>, C<useperlio>, C<useposix>, C<usesfio>,
-C<useshrplib>, C<usesocks>, C<usethreads>, C<usevendorprefix>, C<usevfork>,
-C<usrinc>, C<uuname>, C<uvoformat>, C<uvsize>, C<uvtype>, C<uvuformat>,
-C<uvxformat>
-
-=item v
-
-C<vendorarch>, C<vendorarchexp>, C<vendorbin>, C<vendorbinexp>,
-C<vendorlib>, C<vendorlib_stem>, C<vendorlibexp>, C<vendorprefix>,
-C<vendorprefixexp>, C<version>, C<vi>, C<voidflags>
-
-=item x
-
-C<xlibpth>, C<xs_apiversion>
-
-=item z
-
-C<zcat>, C<zip>
-
-=back
-
-=item NOTE
-
-=back
-
 =head2 Cwd, getcwd - get pathname of current working directory
 
 =over
@@ -6157,37 +5805,6 @@ veryCompact, set, get
 
 =back
 
-=head2 DynaLoader - Dynamically load C libraries into Perl code
-
-=over
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-@dl_library_path, @dl_resolve_using, @dl_require_symbols, @dl_librefs,
-@dl_modules, dl_error(), $dl_debug, dl_findfile(), dl_expandspec(),
-dl_load_file(), dl_unload_file(), dl_loadflags(), dl_find_symbol(),
-dl_find_symbol_anywhere(), dl_undef_symbols(), dl_install_xsub(),
-bootstrap()
-
-=item AUTHOR
-
-=back
-
-=head2 DynaLoader::XSLoader, XSLoader - Dynamically load C libraries into
-Perl code
-
-=over
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item AUTHOR
-
-=back
-
 =head2 English - use nice English (or awk) names for ugly punctuation
 variables
 
@@ -6232,6 +5849,8 @@ arrays
 
 =item Specialised Import Lists
 
+=item Constants can be inlined
+
 =item Exporting without using Export's import method
 
 =item Module Version Checking
@@ -6877,18 +6496,6 @@ C<Added to MANIFEST:> I<file>
 
 =back
 
-=head2 ExtUtils::Miniperl, writemain - write the C code for perlmain.c
-
-=over
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item SEE ALSO
-
-=back
-
 =head2 ExtUtils::Mkbootstrap - make a bootstrap file for use by DynaLoader
 
 =over
@@ -7328,10 +6935,6 @@ splitdir
 
 catpath
 
-abs2rel
-
-rel2abs
-
 =over
 
 =item SEE ALSO
@@ -8152,22 +7755,6 @@ functions
 
 =back
 
-=head2 O - Generic interface to Perl Compiler backends
-
-=over
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item CONVENTIONS
-
-=item IMPLEMENTATION
-
-=item AUTHOR
-
-=back
-
 =head2 ODBM_File - Tied access to odbm files
 
 =over
@@ -8304,12 +7891,12 @@ rewinddir, rmdir, scanf, setgid, setjmp, setlocale, setpgid, setsid,
 setuid, sigaction, siglongjmp, sigpending, sigprocmask, sigsetjmp,
 sigsuspend, sin, sinh, sleep, sprintf, sqrt, srand, sscanf, stat, strcat,
 strchr, strcmp, strcoll, strcpy, strcspn, strerror, strftime, strlen,
-strncat, strncmp, strncpy, stroul, strpbrk, strrchr, strspn, strstr,
-strtod, strtok, strtol, strtoul, strxfrm, sysconf, system, tan, tanh,
-tcdrain, tcflow, tcflush, tcgetpgrp, tcsendbreak, tcsetpgrp, time, times,
-tmpfile, tmpnam, tolower, toupper, ttyname, tzname, tzset, umask, uname,
-ungetc, unlink, utime, vfprintf, vprintf, vsprintf, wait, waitpid,
-wcstombs, wctomb, write
+strncat, strncmp, strncpy, strpbrk, strrchr, strspn, strstr, strtod,
+strtok, strtol, strtoul, strxfrm, sysconf, system, tan, tanh, tcdrain,
+tcflow, tcflush, tcgetpgrp, tcsendbreak, tcsetpgrp, time, times, tmpfile,
+tmpnam, tolower, toupper, ttyname, tzname, tzset, umask, uname, ungetc,
+unlink, utime, vfprintf, vprintf, vsprintf, wait, waitpid, wcstombs,
+wctomb, write
 
 =item CLASSES
 
@@ -8397,8 +7984,6 @@ Constants
 
 Constants, Macros
 
-=item CREATION
-
 =back
 
 =head2 Pod::Checker, podchecker() - check pod documents for syntax errors
@@ -10067,20 +9652,6 @@ functions
 
 March 18th, 2000
 
-=back
-
-=head2 XSLoader - Dynamically load C libraries into Perl code
-
-=over
-
-=item SYNOPSIS
-
-=item DESCRIPTION
-
-=item AUTHOR
-
-=back
-
 =head1 AUXILIARY DOCUMENTATION
 
 Here should be listed all the extra programs' documentation, but they