This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[inseperable changes from patch from perl-5.003_95 to perl-5.003_86]
authorPerl 5 Porters <perl5-porters@africa.nicoh.com>
Tue, 25 Mar 1997 19:04:34 +0000 (07:04 +1200)
committerChip Salzenberg <chip@atlantic.net>
Tue, 25 Mar 1997 19:04:34 +0000 (07:04 +1200)
[editor's note: this commit was prepared manually so may differ in
minor ways to other inseperable changes commits]

 CORE LANGUAGE CHANGES

  Title:  "Support $ENV{PERL5OPT}"
   From:  Chip Salzenberg
  Files:  perl.c pod/perldiag.pod pod/perldelta.pod pod/perlrun.pod

  Title:  "Implement void context, in which C<wantarray> is undef"
   From:  Chip Salzenberg
  Files:  cop.h doop.c dump.c global.sym gv.c op.c op.h perl.c
          pod/perlcall.pod pod/perldelta.pod pod/perlfunc.pod
          pod/perlguts.pod pod/perlsub.pod pp.c pp_ctl.c pp_hot.c
          pp_sys.c proto.h

  Title:  "Don't look up &AUTOLOAD in @ISA when calling plain function"
   From:  Chip Salzenberg
  Files:  global.sym gv.c lib/Text/ParseWords.pm pod/perldelta.pod
          pp_hot.c proto.h t/op/method.t

  Title:  "Allow closures to be constant subroutines"
   From:  Chip Salzenberg
  Files:  op.c

  Title:  "Make C<scalar(reverse)> mean C<scalar(reverse $_)>"
   From:  Chip Salzenberg
  Files:  pp.c

  Title:  "Fix lexical suicide from C<my $x = $x> in sub"
   From:  Chip Salzenberg
  Files:  op.c

  Title:  "Make "Unrecog. char." fatal, and update its doc"
   From:  Chip Salzenberg
  Files:  pod/perldiag.pod toke.c

 CORE PORTABILITY

  Title:  "safefree() mismatch"
   From:  Roderick Schertler
 Msg-ID:  <21338.859653381@eeyore.ibcinc.com>
   Date:  Sat, 29 Mar 1997 11:36:21 -0500
  Files:  util.c

    (applied based on p5p patch as commit id 9b9b466fb02dc96c81439bafbb3b2da55238cfd2)

  Title:  "Win32 update (seven patches)"
   From:  Gurusamy Sarathy and Nick Ing-Simmons
  Files:  EXTERN.h MANIFEST win32/Makefile win32/perl.mak
          win32/perl.rc win32/perldll.mak win32/makedef.pl
          win32/modules.mak win32/win32io.c win32/bin/pl2bat.bat

 OTHER CORE CHANGES

  Title:  "Report PERL* environment variables in -V and perlbug"
   From:  Chip Salzenberg
  Files:  perl.c utils/perlbug.PL

  Title:  "Typo in perl.c: Printing NO_EMBED for perl -V"
   From:  Gisle Aas
 Msg-ID:  <199703301922.VAA13509@furubotn.sn.no>
   Date:  Sun, 30 Mar 1997 21:22:11 +0200
  Files:  perl.c

    (applied based on p5p patch as commit id b6c639e4b1912ad03b9b10ba9518d96bd0a6cfaf)

  Title:  "Don't let C<$var = $var> untaint $var"
   From:  Chip Salzenberg
  Files:  pp_hot.c pp_sys.c sv.h t/op/taint.t

  Title:  "Fix autoviv bug in C<my $x; ++$x->{KEY}>"
   From:  Chip Salzenberg
  Files:  pp_hot.c

  Title:  "Re: 5.004's new srand() default seed"
   From:  Hallvard B Furuseth
 Msg-ID:  <199703302219.AAA20998@bombur2.uio.no>
   Date:  Mon, 31 Mar 1997 00:19:13 +0200 (MET DST)
  Files:  pp.c

    (applied based on p5p patch as commit id d7d933a26349f945f93b2f0dbf85b773d8ca3219)

  Title:  "Re: embedded perl and top_env problem "
   From:  Gurusamy Sarathy
 Msg-ID:  <199703280031.TAA05711@aatma.engin.umich.edu>
   Date:  Thu, 27 Mar 1997 19:31:42 -0500
  Files:  gv.c interp.sym perl.c perl.h pp_ctl.c pp_sys.c scope.h util.c

    (applied based on p5p patch as commit id f289f7d2518e7a8a82114282e774adf50fa6ce85)

  Title:  "Define and use new macro: boolSV()"
   From:  Tim Bunce
  Files:  gv.c lib/ExtUtils/typemap os2/os2.c pp.c pp_hot.c pp_sys.c
          sv.c sv.h universal.c vms/vms.c

  Title:  "Re: strict @F"
   From:  Hallvard B Furuseth
 Msg-ID:  <199703252110.WAA16038@bombur2.uio.no>
   Date:  Tue, 25 Mar 1997 22:10:33 +0100 (MET)
  Files:  toke.c

    (applied based on p5p patch as commit id dfd44a5c8c8dd4c001c595debfe73d011a96d844)

  Title:  "Try harder to identify errors at EOF"
   From:  Chip Salzenberg
  Files:  toke.c

  Title:  "Minor string change in toke.c: 'bareword'"
   From:  lvirden@cas.org
 Msg-ID:  <1997Mar27.130247.1911552@hmivax.humgen.upenn.edu>
   Date:  Thu, 27 Mar 1997 13:02:46 -0500 (EST)
  Files:  toke.c

    (applied based on p5p patch as commit id 9b56c8f8085a9e773ad87c6b3c1d0b5e39dbc348)

  Title:  "Improve diagnostic on \r in program text"
   From:  Chip Salzenberg
  Files:  pod/perldiag.pod toke.c

  Title:  "Make Sock_size_t typedef work right"
   From:  Chip Salzenberg
  Files:  perl.h pp_sys.c

 LIBRARY AND EXTENSIONS

  Title:  "New module constant.pm"
   From:  Tom Phoenix
  Files:  MANIFEST lib/constant.pm op.c pp.c t/pragma/constant.t

  Title:  "Remove chat2"
   From:  Chip Salzenberg
  Files:  MANIFEST lib/chat2.inter lib/chat2.pl

  Title:  "Include CGI.pm 2.32"
   From:  Chip Salzenberg
  Files:  MANIFEST eg/cgi/* lib/CGI.pm lib/CGI/Apache.pm
          lib/CGI/Carp.pm lib/CGI/Fast.pm lib/CGI/Push.pm
          lib/CGI/Switch.pm

 UTILITIES

  Title:  "Tom C's Pod::Html and html tools, as of 30 March 97"
   From:  Chip Salzenberg
  Files:  MANIFEST installhtml lib/Pod/Html.pm pod/pod2html.PL

  Title:  "Fix path bugs in installhtml"
   From:  Robin Barker <rmb1@cise.npl.co.uk>
 Msg-ID:  <3180.9703270906@tempest.cise.npl.co.uk>
   Date:  Thu, 27 Mar 97 09:06:14 GMT
  Files:  installhtml

  Title:  "Make perlbug say that it's only for core Perl bugs"
   From:  Chip Salzenberg
  Files:  utils/perlbug.PL

 DOCUMENTATION

  Title:  "Document autouse and constant; update diagnostics"
   From:  Chip Salzenberg
  Files:  pod/perldelta.pod

  Title:  "Suggest to upgraders that they try '-w' again"
   From:  Hallvard B Furuseth
 Msg-ID:  <199703251901.UAA15982@bombur2.uio.no>
   Date:  Tue, 25 Mar 1997 20:01:26 +0100 (MET)
  Files:  pod/perldelta.pod

    (applied based on p5p patch as commit id 4176c059b9ba6b022e99c44270434a5c3e415b73)

  Title:  "Improve and update documentation of constant subs"
   From:  Tom Phoenix <rootbeer@teleport.com>
 Msg-ID:  <Pine.GSO.3.96.970331122546.14185C-100000@kelly.teleport.com>
   Date:  Mon, 31 Mar 1997 13:05:54 -0800 (PST)
  Files:  pod/perlsub.pod

  Title:  "Improve documentation of C<return>"
   From:  Chip Salzenberg
  Files:  pod/perlfunc.pod pod/perlsub.pod

  Title:  "perlfunc.pod patch"
   From:  Gisle Aas
 Msg-ID:  <199703262159.WAA17531@furubotn.sn.no>
   Date:  Wed, 26 Mar 1997 22:59:23 +0100
  Files:  pod/perlfunc.pod

    (applied based on p5p patch as commit id 35a731fcbcd7860eb497d6598f3f77b8746319c4)

  Title:  "Use 'while (defined($x = <>)) {}', per <gnat@frii.com>"
   From:  Chip Salzenberg
  Files:  configpm lib/Term/Cap.pm perlsh pod/perlipc.pod pod/perlop.pod
          pod/perlsub.pod pod/perlsyn.pod pod/perltrap.pod
          pod/perlvar.pod win32/bin/search.bat

  Title:  "Document and test C<%> behavior with negative operands"
   From:  Chip Salzenberg
  Files:  pod/perlop.pod t/op/arith.t

  Title:  "Update docs on $]"
   From:  Chip Salzenberg
  Files:  pod/perlvar.pod

  Title:  "perlvar.pod patch"
   From:  Gisle Aas
 Msg-ID:  <199703261254.NAA10237@bergen.sn.no>
   Date:  Wed, 26 Mar 1997 13:54:00 +0100
  Files:  pod/perlvar.pod

    (applied based on p5p patch as commit id 0aa182cb0caa3829032904b9754807b1b7418509)

  Title:  "Fix example of C<or> vs. C<||>"
   From:  Chip Salzenberg
  Files:  pod/perlsyn.pod

  Title:  "Pod usage and spelling patch"
   From:  Larry W. Virden
  Files:  pod/*.pod

  Title:  "Pod updates"
   From:  "Cary D. Renzema" <caryr@mxim.com>
 Msg-ID:  <199703262353.PAA01819@macs.mxim.com>
   Date:  Wed, 26 Mar 1997 15:53:22 -0800 (PST)
  Files:  pod/*.pod

    (applied based on p5p patch as commit id 5695b28edc67a3f45e8a0f25755d07afef3660ac)

123 files changed:
Changes
EXTERN.h
MANIFEST
configpm
cop.h
doop.c
dump.c
eg/cgi/RunMeFirst [new file with mode: 0644]
eg/cgi/clickable_image.cgi [new file with mode: 0644]
eg/cgi/cookie.cgi [new file with mode: 0644]
eg/cgi/crash.cgi [new file with mode: 0644]
eg/cgi/customize.cgi [new file with mode: 0644]
eg/cgi/diff_upload.cgi [new file with mode: 0644]
eg/cgi/file_upload.cgi [new file with mode: 0644]
eg/cgi/frameset.cgi [new file with mode: 0644]
eg/cgi/index.html [new file with mode: 0644]
eg/cgi/internal_links.cgi [new file with mode: 0644]
eg/cgi/javascript.cgi [new file with mode: 0644]
eg/cgi/monty.cgi [new file with mode: 0644]
eg/cgi/multiple_forms.cgi [new file with mode: 0644]
eg/cgi/nph-clock.cgi [new file with mode: 0644]
eg/cgi/popup.cgi [new file with mode: 0644]
eg/cgi/save_state.cgi [new file with mode: 0644]
eg/cgi/tryit.cgi [new file with mode: 0644]
eg/cgi/wilogo.gif.uu [new file with mode: 0644]
embed.h
global.sym
gv.c
hints/dgux.sh
installhtml [new file with mode: 0644]
interp.sym
lib/CGI.pm [new file with mode: 0644]
lib/CGI/Apache.pm [new file with mode: 0644]
lib/CGI/Carp.pm [new file with mode: 0644]
lib/CGI/Fast.pm [new file with mode: 0644]
lib/CGI/Push.pm [new file with mode: 0644]
lib/CGI/Switch.pm [new file with mode: 0644]
lib/ExtUtils/typemap
lib/Pod/Html.pm [new file with mode: 0644]
lib/Term/Cap.pm
lib/Text/ParseWords.pm
lib/chat2.inter [deleted file]
lib/chat2.pl [deleted file]
lib/constant.pm [new file with mode: 0644]
op.c
op.h
os2/os2.c
patchlevel.h
perl.c
perl.h
perlsh
plan9/buildinfo
pod/perlapio.pod
pod/perlbot.pod
pod/perlcall.pod
pod/perldata.pod
pod/perldebug.pod
pod/perldelta.pod
pod/perldiag.pod
pod/perldsc.pod
pod/perlembed.pod
pod/perlfaq.pod
pod/perlfaq1.pod
pod/perlfaq2.pod
pod/perlfaq3.pod
pod/perlfaq4.pod
pod/perlfaq5.pod
pod/perlfaq6.pod
pod/perlfaq7.pod
pod/perlfaq8.pod
pod/perlfaq9.pod
pod/perlform.pod
pod/perlfunc.pod
pod/perlguts.pod
pod/perlipc.pod
pod/perllocale.pod
pod/perllol.pod
pod/perlmod.pod
pod/perlobj.pod
pod/perlop.pod
pod/perlpod.pod
pod/perlre.pod
pod/perlref.pod
pod/perlrun.pod
pod/perlsec.pod
pod/perlstyle.pod
pod/perlsub.pod
pod/perlsyn.pod
pod/perltoc.pod
pod/perltoot.pod
pod/perltrap.pod
pod/perlvar.pod
pod/perlxs.pod
pod/perlxstut.pod
pod/pod2html.PL
pp.c
pp_ctl.c
pp_hot.c
pp_sys.c
proto.h
scope.h
sv.h
t/op/arith.t [new file with mode: 0644]
t/op/method.t
t/op/taint.t
t/pragma/constant.t [new file with mode: 0644]
toke.c
universal.c
util.c
utils/perlbug.PL
vms/config.vms
vms/descrip.mms
vms/vms.c
win32/Makefile
win32/bin/PL2BAT.BAT [deleted file]
win32/bin/pl2bat.bat [new file with mode: 0644]
win32/bin/search.bat
win32/makedef.pl
win32/modules.mak
win32/perl.mak
win32/perl.rc [new file with mode: 0644]
win32/perldll.mak
win32/win32io.c

diff --git a/Changes b/Changes
index 62c1b45..d27be4a 100644 (file)
--- a/Changes
+++ b/Changes
@@ -8,9 +8,327 @@ or in the .../src/5/0/unsupported directory for sub-version
 releases.)
 
 
-----------------
-Version 5.003_95
-----------------
+---------------
+ Cast and Crew
+---------------
+
+To save space, and to give due honor to those who have made Perl 5.004
+what is is today, here are some of the more common names in the Changes
+file, and their current addresses (as of March 1997):
+
+    Gisle Aas           <aas@aas.no>
+    Kenneth Albanowski  <kjahds@kjahds.com>
+    Charles Bailey      <bailey@hmivax.humgen.upenn.edu>
+    Graham Barr         <gbarr@ti.com>
+    Spider Boardman     <spider@orb.nashua.nh.us>
+    Tim Bunce           <Tim.Bunce@ig.co.uk>
+    Tom Christiansen    <tchrist@perl.com>
+    Hallvard B Furuseth <h.b.furuseth@usit.uio.no>
+    Gurusamy Sarathy    <gsar@engin.umich.edu>
+    Jarkko Hietaniemi   <jhi@iki.fi>
+    Nick Ing-Simmons    <nik@tiuk.ti.com>
+    Andreas Koenig      <a.koenig@mind.de>
+    Paul Marquess       <pmarquess@bfsec.bt.co.uk>
+    Jeff Okamoto        <okamoto@hpcc123.corp.hp.com>
+    Ulrich Pfeifer      <pfeifer@charly.informatik.uni-dortmund.de>
+    Tom Phoenix         <rootbeer@teleport.com>
+    Norbert Pueschel    <pueschel@imsdd.meb.uni-bonn.de>
+    Roderick Schertler  <roderick@argon.org>
+    Ilya Zakharevich    <ilya@math.ohio-state.edu>
+
+And the Keepers of the Patch Pumpkin:
+
+    Andy Dougherty      <doughera@lafcol.lafayette.edu>
+    Chip Salzenberg     <chip@pobox.com>
+
+
+------------------
+ Version 5.003_96
+------------------
+
+ CORE LANGUAGE CHANGES
+
+  Title:  "Support $ENV{PERL5OPT}"
+   From:  Chip Salzenberg
+  Files:  perl.c pod/perldiag.pod pod/perldelta.pod pod/perlrun.pod
+
+  Title:  "Implement void context, in which C<wantarray> is undef"
+   From:  Chip Salzenberg
+  Files:  cop.h doop.c dump.c global.sym gv.c op.c op.h perl.c
+          pod/perlcall.pod pod/perldelta.pod pod/perlfunc.pod
+          pod/perlguts.pod pod/perlsub.pod pp.c pp_ctl.c pp_hot.c
+          pp_sys.c proto.h
+
+  Title:  "Don't look up &AUTOLOAD in @ISA when calling plain function"
+   From:  Chip Salzenberg
+  Files:  global.sym gv.c lib/Text/ParseWords.pm pod/perldelta.pod
+          pp_hot.c proto.h t/op/method.t
+
+  Title:  "Allow closures to be constant subroutines"
+   From:  Chip Salzenberg
+  Files:  op.c
+
+  Title:  "Make C<scalar(reverse)> mean C<scalar(reverse $_)>"
+   From:  Chip Salzenberg
+  Files:  pp.c
+
+  Title:  "Fix lexical suicide from C<my $x = $x> in sub"
+   From:  Chip Salzenberg
+  Files:  op.c
+
+  Title:  "Make "Unrecog. char." fatal, and update its doc"
+   From:  Chip Salzenberg
+  Files:  pod/perldiag.pod toke.c
+
+  Title:  "Die on patterns that will match empty string forever"
+   From:  Stephen Potter <spp@psa.pencom.com>
+ Msg-ID:  <199703282138.PAA28311@psa.pencom.com>
+   Date:  Fri, 28 Mar 1997 15:38:30 -0600
+  Files:  regcomp.c
+
+ CORE PORTABILITY
+
+  Title:  "safefree() mismatch"
+   From:  Roderick Schertler
+ Msg-ID:  <21338.859653381@eeyore.ibcinc.com>
+   Date:  Sat, 29 Mar 1997 11:36:21 -0500
+  Files:  util.c
+
+  Title:  "FreeBSD update"
+   From:  Slaven Rezic <eserte@cs.tu-berlin.de>
+ Msg-ID:  <199703311417.QAA04162@cabulja.herceg.de>
+   Date:  Mon, 31 Mar 1997 16:17:42 +0200 (MET DST)
+  Files:  hints/freebsd.sh
+
+  Title:  "Win32 update (seven patches)"
+   From:  Gurusamy Sarathy and Nick Ing-Simmons
+  Files:  EXTERN.h MANIFEST win32/Makefile win32/perl.mak
+          win32/perl.rc win32/perldll.mak win32/makedef.pl
+          win32/modules.mak win32/win32io.c win32/bin/pl2bat.bat
+
+ OTHER CORE CHANGES
+
+  Title:  "Report PERL* environment variables in -V and perlbug"
+   From:  Chip Salzenberg
+  Files:  perl.c utils/perlbug.PL
+
+  Title:  "Typo in perl.c: Printing NO_EMBED for perl -V"
+   From:  Gisle Aas
+ Msg-ID:  <199703301922.VAA13509@furubotn.sn.no>
+   Date:  Sun, 30 Mar 1997 21:22:11 +0200
+  Files:  perl.c
+
+  Title:  "Don't let C<$var = $var> untaint $var"
+   From:  Chip Salzenberg
+  Files:  pp_hot.c pp_sys.c sv.h t/op/taint.t
+
+  Title:  "Fix autoviv bug in C<my $x; ++$x->{KEY}>"
+   From:  Chip Salzenberg
+  Files:  pp_hot.c
+
+  Title:  "Re: 5.004's new srand() default seed"
+   From:  Hallvard B Furuseth
+ Msg-ID:  <199703302219.AAA20998@bombur2.uio.no>
+   Date:  Mon, 31 Mar 1997 00:19:13 +0200 (MET DST)
+  Files:  pp.c
+
+  Title:  "Re: embedded perl and top_env problem "
+   From:  Gurusamy Sarathy
+ Msg-ID:  <199703280031.TAA05711@aatma.engin.umich.edu>
+   Date:  Thu, 27 Mar 1997 19:31:42 -0500
+  Files:  gv.c interp.sym perl.c perl.h pp_ctl.c pp_sys.c scope.h util.c
+
+  Title:  "Define and use new macro: boolSV()"
+   From:  Tim Bunce
+  Files:  gv.c lib/ExtUtils/typemap os2/os2.c pp.c pp_hot.c pp_sys.c
+          sv.c sv.h universal.c vms/vms.c
+
+  Title:  "Re: strict @F"
+   From:  Hallvard B Furuseth
+ Msg-ID:  <199703252110.WAA16038@bombur2.uio.no>
+   Date:  Tue, 25 Mar 1997 22:10:33 +0100 (MET)
+  Files:  toke.c
+
+  Title:  "Try harder to identify errors at EOF"
+   From:  Chip Salzenberg
+  Files:  toke.c
+
+  Title:  "Minor string change in toke.c: 'bareword'"
+   From:  lvirden@cas.org
+ Msg-ID:  <1997Mar27.130247.1911552@hmivax.humgen.upenn.edu>
+   Date:  Thu, 27 Mar 1997 13:02:46 -0500 (EST)
+  Files:  toke.c
+
+  Title:  "Improve diagnostic on \r in program text"
+   From:  Chip Salzenberg
+  Files:  pod/perldiag.pod toke.c
+
+  Title:  "Make Sock_size_t typedef work right"
+   From:  Chip Salzenberg
+  Files:  perl.h pp_sys.c
+
+  Title:  "Eliminate unused dummy variable"
+   From:  Doug MacEachern <dougm@opengroup.org>
+ Msg-ID:  <199703270123.UAA25454@postman.osf.org>
+   Date:  Wed, 26 Mar 1997 20:23:14 -0500
+  Files:  lib/ExtUtils/Embed.pm unixish.h writemain.SH
+
+ BUILD PROCESS
+
+  Title:  "Allow for coexistence of various versions of perldiag.pod"
+   From:  Chip Salzenberg
+  Files:  installperl lib/diagnostics.pm
+
+ LIBRARY AND EXTENSIONS
+
+  Title:  "New module constant.pm"
+   From:  Tom Phoenix
+  Files:  MANIFEST lib/constant.pm op.c pp.c t/pragma/constant.t
+
+  Title:  "Remove chat2"
+   From:  Chip Salzenberg
+  Files:  MANIFEST lib/chat2.inter lib/chat2.pl
+
+  Title:  "Include CGI.pm 2.32"
+   From:  Chip Salzenberg
+  Files:  MANIFEST eg/cgi/* lib/CGI.pm lib/CGI/Apache.pm
+          lib/CGI/Carp.pm lib/CGI/Fast.pm lib/CGI/Push.pm
+          lib/CGI/Switch.pm
+
+  Title:  "Fix C<print $_> in debugger"
+   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+ Msg-ID:  <199703312355.SAA01068@monk.mps.ohio-state.edu>
+   Date:  Mon, 31 Mar 1997 18:55:55 -0500 (EST)
+  Files:  lib/perl5db.pl
+
+  Title:  "Re: Pod problems & fixes"
+   From:  Hallvard B Furuseth
+ Msg-ID:  <199703261829.TAA17015@bombur2.uio.no>
+   Date:  Wed, 26 Mar 1997 19:29:14 +0100 (MET)
+  Files:  lib/Pod/Text.pm
+
+  Title:  "Re: $whoami calculation in Sys::Syslog.pm should not be greedy"
+   From:  Roderick Schertler
+ Msg-ID:  <pz4tdu7j57.fsf@eeyore.ibcinc.com>
+   Date:  29 Mar 1997 11:33:24 -0500
+  Files:  lib/Sys/Syslog.pm
+
+  Title:  "C<new SelectSaver $fh> doesn't always restore"
+   From:  Spider Boardman
+ Msg-ID:  <199703291906.OAA07232@Orb.Nashua.NH.US>
+   Date:  Sat, 29 Mar 1997 14:06:37 -0500
+  Files:  lib/SelectSaver.pm
+
+  Title:  "Patch for Benchmark.pm"
+   From:  Hugo van der Sanden <hv@crypt.compulink.co.uk> w/Tim Bunce
+ Msg-ID:  <199703291504.PAA01596@crypt.compulink.co.uk>
+   Date:  Sat, 29 Mar 1997 15:04:32 +0000
+  Files:  lib/Benchmark.pm
+
+  Title:  "Tiny doc fix for AutoSplit.pm"
+   From:  "Randy J. Ray" <rjray@uswest.com>
+ Msg-ID:  <rjray-9702272117.AA001223633@snakepit.ecte.uswc.uswest.com>
+   Date:  Thu, 27 Mar 1997 14:17:38 -0700
+  Files:  lib/AutoSplit.pm
+
+ TESTS
+
+   (no changes)
+
+ UTILITIES
+
+  Title:  "Tom C's Pod::Html and html tools, as of 30 March 97"
+   From:  Chip Salzenberg
+  Files:  MANIFEST installhtml lib/Pod/Html.pm pod/pod2html.PL
+
+  Title:  "Fix path bugs in installhtml"
+   From:  Robin Barker <rmb1@cise.npl.co.uk>
+ Msg-ID:  <3180.9703270906@tempest.cise.npl.co.uk>
+   Date:  Thu, 27 Mar 97 09:06:14 GMT
+  Files:  installhtml
+
+  Title:  "Make perlbug say that it's only for core Perl bugs"
+   From:  Chip Salzenberg
+  Files:  utils/perlbug.PL
+
+ DOCUMENTATION
+
+  Title:  "INSTALL-1.11"
+   From:  Andy Dougherty
+ Msg-ID:  <Pine.SOL.3.95q.970326140905.10178A-100000@fractal.lafayette.
+   Date:  Wed, 26 Mar 1997 14:27:52 -0500 (EST)
+  Files:  INSTALL
+
+  Title:  "Patch for perl.pod"
+   From:  wmiddlet@Adobe.COM (William Middleton)
+ Msg-ID:  <199703262305.PAA13121@ducks>
+   Date:  Wed, 26 Mar 1997 15:05:39 -0800 (PST)
+  Files:  pod/perl.pod
+
+  Title:  "Document autouse and constant; update diagnostics"
+   From:  Chip Salzenberg
+  Files:  pod/perldelta.pod
+
+  Title:  "Suggest to upgraders that they try '-w' again"
+   From:  Hallvard B Furuseth
+ Msg-ID:  <199703251901.UAA15982@bombur2.uio.no>
+   Date:  Tue, 25 Mar 1997 20:01:26 +0100 (MET)
+  Files:  pod/perldelta.pod
+
+  Title:  "Improve and update documentation of constant subs"
+   From:  Tom Phoenix <rootbeer@teleport.com>
+ Msg-ID:  <Pine.GSO.3.96.970331122546.14185C-100000@kelly.teleport.com>
+   Date:  Mon, 31 Mar 1997 13:05:54 -0800 (PST)
+  Files:  pod/perlsub.pod
+
+  Title:  "Improve documentation of C<return>"
+   From:  Chip Salzenberg
+  Files:  pod/perlfunc.pod pod/perlsub.pod
+
+  Title:  "perlfunc.pod patch"
+   From:  Gisle Aas
+ Msg-ID:  <199703262159.WAA17531@furubotn.sn.no>
+   Date:  Wed, 26 Mar 1997 22:59:23 +0100
+  Files:  pod/perlfunc.pod
+
+  Title:  "Use 'while (defined($x = <>)) {}', per <gnat@frii.com>"
+   From:  Chip Salzenberg
+  Files:  configpm lib/Term/Cap.pm perlsh pod/perlipc.pod pod/perlop.pod
+          pod/perlsub.pod pod/perlsyn.pod pod/perltrap.pod
+          pod/perlvar.pod win32/bin/search.bat
+
+  Title:  "Document and test C<%> behavior with negative operands"
+   From:  Chip Salzenberg
+  Files:  pod/perlop.pod t/op/arith.t
+
+  Title:  "Update docs on $]"
+   From:  Chip Salzenberg
+  Files:  pod/perlvar.pod
+
+  Title:  "perlvar.pod patch"
+   From:  Gisle Aas
+ Msg-ID:  <199703261254.NAA10237@bergen.sn.no>
+   Date:  Wed, 26 Mar 1997 13:54:00 +0100
+  Files:  pod/perlvar.pod
+
+  Title:  "Fix example of C<or> vs. C<||>"
+   From:  Chip Salzenberg
+  Files:  pod/perlsyn.pod
+
+  Title:  "Pod usage and spelling patch"
+   From:  Larry W. Virden
+  Files:  pod/*.pod
+
+  Title:  "Pod updates"
+   From:  "Cary D. Renzema" <caryr@mxim.com>
+ Msg-ID:  <199703262353.PAA01819@macs.mxim.com>
+   Date:  Wed, 26 Mar 1997 15:53:22 -0800 (PST)
+  Files:  pod/*.pod
+
+
+------------------
+ Version 5.003_95
+------------------
 
  CORE LANGUAGE CHANGES
 
@@ -44,14 +362,13 @@ Version 5.003_95
   Files:  hints/bsdos.sh
 
   Title:  "Another MachTen Patch"
-   From:  Tom Phoenix <rootbeer@teleport.com>
+   From:  Tom Phoenix
  Msg-ID:  <Pine.GSO.3.96.970324152150.20610P-100000@kelly.teleport.com>
    Date:  Mon, 24 Mar 1997 15:26:48 -0800 (PST)
   Files:  hints/machten_2.sh
 
   Title:  "Win32 update (five patches)"
-   From:  Gurusamy Sarathy <gsar@engin.umich.edu> and
-          nick@ni-s.u-net.com (Nick Ing-Simmons)
+   From:  Gurusamy Sarathy and Nick Ing-Simmons
   Files:  MANIFEST README.win32 doio.c dosish.h pp_sys.c
           lib/ExtUtils/Command.pm t/comp/multiline.t t/op/magic.t
           t/op/mkdir.t t/op/runlevel.t t/op/stat.t t/op/write.t
@@ -95,7 +412,7 @@ Version 5.003_95
   Files:  lib/UNIVERSAL.pm
 
   Title:  "Term::Readline patch for AmigaOS"
-   From:  "Norbert Pueschel" <pueschel@imsdd.meb.uni-bonn.de>
+   From:  Norbert Pueschel
  Msg-ID:  <77724797@Armageddon.meb.uni-bonn.de>
    Date:  Sun, 23 Mar 1997 18:57:22 +0100
   Files:  lib/Term/ReadLine.pm
@@ -117,7 +434,7 @@ Version 5.003_95
  DOCUMENTATION
 
   Title:  "INSTALL-1.8 to INSTALL-1.9 updates"
-   From:  Andy Dougherty <doughera@fractal.phys.lafayette.edu>
+   From:  Andy Dougherty
  Msg-ID:  <Pine.SOL.3.95q.970325135138.3374A-100000@fractal.lafayette.e
    Date:  Tue, 25 Mar 1997 13:52:53 -0500 (EST)
   Files:  INSTALL
@@ -155,7 +472,7 @@ Version 5.003_95
   Files:  pod/perlref.pod
 
   Title:  "Pod problems & fixes"
-   From:  Hallvard B Furuseth <h.b.furuseth@usit.uio.no>
+   From:  Hallvard B Furuseth
  Msg-ID:  <199703242031.VAA14997@bombur2.uio.no>
    Date:  Mon, 24 Mar 1997 21:31:51 +0100 (MET)
   Files:  INSTALL lib/Term/Complete.pm lib/subs.pm pod/perlcall.pod
@@ -164,7 +481,7 @@ Version 5.003_95
           pod/perlpod.pod pod/pod2html.PL
 
   Title:  "DB_File documentation fix"
-   From:  pmarquess@bfsec.bt.co.uk (Paul Marquess)
+   From:  Paul Marquess
  Msg-ID:  <9703240854.AA08401@claudius.bfsec.bt.co.uk>
    Date:  Mon, 24 Mar 97 08:54:16 GMT
   Files:  ext/DB_File/DB_File.pm
@@ -174,9 +491,9 @@ Version 5.003_95
   Files:  pod/perlfaq*.pod
 
 
-----------------
-Version 5.003_94
-----------------
+------------------
+ Version 5.003_94
+------------------
 
  CORE LANGUAGE CHANGES
 
@@ -226,7 +543,7 @@ Version 5.003_94
  CORE PORTABILITY
 
   Title:  "Don't say 'static var = 1'"
-   From:  Jarkko Hietaniemi <jhi@iki.fi>
+   From:  Jarkko Hietaniemi
  Msg-ID:  <199703091319.PAA24714@alpha.hut.fi>
    Date:  Sun, 9 Mar 1997 15:19:57 +0200 (EET)
   Files:  malloc.c
@@ -238,33 +555,32 @@ Version 5.003_94
   Files:  hints/bsdos.sh
 
   Title:  "More MachTen hints"
-   From:  Tom Phoenix <rootbeer@teleport.com>
+   From:  Tom Phoenix
  Msg-ID:  <Pine.GSO.3.95q.970316133852.27997A-100000@kelly.teleport.com
    Date:  Sun, 16 Mar 1997 13:40:35 -0800 (PST)
   Files:  hints/machten_2.sh
 
   Title:  "HP/UX hint comments"
-   From:  Andy Dougherty <doughera@fractal.phys.lafayette.edu>
+   From:  Andy Dougherty
  Msg-ID:  <Pine.SOL.3.95q.970321153918.28770B-100000@fractal.lafayette.
    Date:  Fri, 21 Mar 1997 15:43:07 -0500 (EST)
   Files:  hints/hpux.sh
 
   Title:  "VMS update"
-   From:  bailey@hmivax.humgen.upenn.edu (Charles Bailey)
+   From:  Charles Bailey
  Msg-ID:  <1997Mar11.220056.1873182@hmivax.humgen.upenn.edu>
    Date:  Tue, 11 Mar 1997 22:00:55 -0500 (EST)
   Files:  lib/ExtUtils/MM_VMS.pm lib/Test/Harness.pm t/op/taint.t
           utils/perlbug.PL vms/descrip.mms
 
   Title:  "vmsish.t and related patches"
-   From:  Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+   From:  Charles Bailey
  Msg-ID:  <01IGQW3IP1KK005VFB@hmivax.humgen.upenn.edu>
    Date:  Fri, 21 Mar 1997 01:32:47 -0500 (EST)
   Files:  MANIFEST perl.h vms/descrip.mms vms/ext/vmsish.t vms/vms.c
  
   Title:  "Win32 update (four patches)"
-   From:  Gurusamy Sarathy <gsar@engin.umich.edu> and
-         Nick Ing-Simmons <nik@tiuk.ti.com>
+   From:  Gurusamy Sarathy and Nick Ing-Simmons
   Files:  MANIFEST README.win32 lib/AutoSplit.pm lib/Cwd.pm
           lib/ExtUtils/Command.pm lib/ExtUtils/Install.pm
           lib/ExtUtils/MM_OS2.pm lib/ExtUtils/MM_Unix.pm
@@ -310,7 +626,7 @@ Version 5.003_94
   Files:  ext/POSIX/POSIX.xs mg.c pp_ctl.c toke.c
 
   Title:  "printf format corrections for -DDEBUGGING"
-   From:  Roderick Schertler <roderick@argon.org>
+   From:  Roderick Schertler
  Msg-ID:  <26592.858793370@eeyore.ibcinc.com>
    Date:  Wed, 19 Mar 1997 12:42:50 -0500
   Files:  doop.c malloc.c op.c pp_ctl.c regexec.c sv.c x2p/str.c
@@ -343,7 +659,7 @@ Version 5.003_94
   Files:  installman installperl
 
   Title:  "3_93 doesn't install pods"
-   From:  Spider Boardman <spider@orb.nashua.nh.us>
+   From:  Spider Boardman
  Msg-ID:  <199703160721.CAA08339@Orb.Nashua.NH.US>
    Date:  Sun, 16 Mar 1997 02:21:35 -0500
   Files:  installperl
@@ -353,7 +669,7 @@ Version 5.003_94
   Files:  installperl
 
   Title:  "Make hint files' warnings more visible"
-   From:  Hallvard B Furuseth <h.b.furuseth@usit.uio.no>
+   From:  Hallvard B Furuseth
  Msg-ID:  <199703202218.XAA09041@bombur2.uio.no>
    Date:  Thu, 20 Mar 1997 23:18:03 +0100 (MET)
   Files:  hints/3b1.sh hints/apollo.sh hints/cxux.sh hints/dcosx.sh
@@ -365,7 +681,7 @@ Version 5.003_94
  LIBRARY AND EXTENSIONS
 
   Title:  "New module: autouse.pm"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199703210034.TAA13469@monk.mps.ohio-state.edu>
    Date:  Thu, 20 Mar 1997 19:34:30 -0500 (EST)
   Files:  MANIFEST lib/autouse.pm
@@ -375,13 +691,13 @@ Version 5.003_94
   Files:  lib/Math/Complex.pm t/lib/complex.t
 
   Title:  "Refresh DB_File to 1.12"
-   From:  pmarquess@bfsec.bt.co.uk (Paul Marquess)
+   From:  Paul Marquess
  Msg-ID:  <9703121551.AA07435@claudius.bfsec.bt.co.uk>
    Date:  Wed, 12 Mar 97 15:51:14 GMT
   Files:  ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs
 
   Title:  "New subroutine Symbol::qualify_to_ref()"
-   From:  Roderick Schertler <roderick@argon.org>
+   From:  Roderick Schertler
  Msg-ID:  <pzlo7ut03b.fsf@eeyore.ibcinc.com>
    Date:  11 Mar 1997 19:39:36 -0500
   Files:  lib/Symbol.pm
@@ -406,7 +722,7 @@ Version 5.003_94
           lib/Getopt/Long.pm
 
   Title:  "Problems with SKIP in makemaker"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199703210413.XAA21601@monk.mps.ohio-state.edu>
    Date:  Thu, 20 Mar 1997 23:13:31 -0500 (EST)
   Files:  lib/ExtUtils/MM_Unix.pm
@@ -416,7 +732,7 @@ Version 5.003_94
   Files:  lib/Exporter.pm
 
   Title:  "fix for Exporter's $SIG{__WARN__} handler"
-   From:  Roderick Schertler <roderick@argon.org>
+   From:  Roderick Schertler
  Msg-ID:  <2282.858296451@eeyore.ibcinc.com>
    Date:  Thu, 13 Mar 1997 18:40:51 -0500
   Files:  lib/Exporter.pm
@@ -448,7 +764,7 @@ Version 5.003_94
  UTILITIES
 
   Title:  "Re: bug in pod2man (5.00326): section=3 for .pm modules"
-   From:  Roderick Schertler <roderick@argon.org>
+   From:  Roderick Schertler
  Msg-ID:  <pzn2sat1hg.fsf@eeyore.ibcinc.com>
    Date:  11 Mar 1997 19:09:31 -0500
   Files:  pod/pod2man.PL
@@ -456,7 +772,7 @@ Version 5.003_94
  DOCUMENTATION
 
   Title:  "perlfaq.pod"
-   From:  Tom Christiansen <tchrist@jhereg.perl.com>
+   From:  Tom Christiansen
  Msg-ID:  <199703172301.QAA12566@jhereg.perl.com>
    Date:  Mon, 17 Mar 1997 16:01:40 -0700
   Files:  MANIFEST pod/Makefile pod/buildtoc pod/perl.pod
@@ -471,7 +787,7 @@ Version 5.003_94
           pod/perlsec.pod pod/perlvar.pod
 
   Title:  "INSTALL:  How to enable debugging"
-   From:  Andy Dougherty <doughera@fractal.phys.lafayette.edu>
+   From:  Andy Dougherty
  Msg-ID:  <Pine.SOL.3.95q.970321112326.1414A-100000@fractal.lafayette.e
    Date:  Fri, 21 Mar 1997 11:25:32 -0500 (EST)
   Files:  INSTALL
@@ -493,37 +809,37 @@ Version 5.003_94
   Files:  pod/perlmod.pod
 
   Title:  "Patch to document illegal characters"
-   From:  Tom Phoenix <rootbeer@teleport.com>
+   From:  Tom Phoenix
  Msg-ID:  <Pine.GSO.3.96.970314090558.15346J-100000@kelly.teleport.com>
    Date:  Fri, 14 Mar 1997 09:08:10 -0800 (PST)
   Files:  pod/perldiag.pod pod/perltrap.pod
 
   Title:  "Document trap with //o and closures"
-   From:  Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+   From:  Charles Bailey
  Msg-ID:  <01IGCHWRNSEU00661G@hmivax.humgen.upenn.edu>
    Date:  Mon, 10 Mar 1997 18:08:08 -0500 (EST)
   Files:  pod/perltrap.pod
 
   Title:  "Re: Inline PI function"
-   From:  Tom Phoenix <rootbeer@teleport.com>
+   From:  Tom Phoenix
  Msg-ID:  <Pine.GSO.3.95q.970310143125.22489V-100000@kelly.teleport.com
    Date:  Mon, 10 Mar 1997 14:33:20 -0800 (PST)
   Files:  pod/perlsub.pod
 
   Title:  "Illegal character in input"
-   From:  Tom Phoenix <rootbeer@teleport.com>
+   From:  Tom Phoenix
  Msg-ID:  <Pine.GSO.3.95q.970310151512.22489a-100000@kelly.teleport.com
    Date:  Mon, 10 Mar 1997 15:21:21 -0800 (PST)
   Files:  pod/perldiag.pod
 
   Title:  "Patch for docs Re: Lost backslash"
-   From:  Tom Phoenix <rootbeer@teleport.com>
+   From:  Tom Phoenix
  Msg-ID:  <Pine.GSO.3.96.970319071438.24834G-100000@kelly.teleport.com>
    Date:  Wed, 19 Mar 1997 07:28:57 -0800 (PST)
   Files:  pod/perlop.pod
 
   Title:  "XSUB's doc fix"
-   From:  Roderick Schertler <roderick@argon.org>
+   From:  Roderick Schertler
  Msg-ID:  <28804.858012126@eeyore.ibcinc.com>
    Date:  Mon, 10 Mar 1997 11:42:06 -0500
   Files:  pod/perlcall.pod pod/perlguts.pod pod/perlxstut.pod
@@ -554,7 +870,7 @@ Version 5.003_94
   Files:  pod/*.pod
 
   Title:  "clarify example in perlfunc"
-   From:  Jarkko Hietaniemi <jhi@iki.fi>
+   From:  Jarkko Hietaniemi
  Msg-ID:  <199703201746.TAA25195@alpha.hut.fi>
    Date:  Thu, 20 Mar 1997 19:46:01 +0200 (EET)
   Files:  pod/perlfunc.pod
@@ -564,9 +880,9 @@ Version 5.003_94
   Files:  ext/DB_File/DB_File.pm
 
 
-----------------
-Version 5.003_93
-----------------
+------------------
+ Version 5.003_93
+------------------
 
 Me, last time:
      "This release will be the public beta of 5.004,
@@ -577,7 +893,7 @@ Me, now:
  CORE LANGUAGE CHANGES
 
   Title:  "Don't autovivify array and hash elements in sub parameters"
-   From:  Gurusamy Sarathy <gsar@engin.umich.edu>
+   From:  Gurusamy Sarathy
  Msg-ID:  <199703061912.OAA20606@aatma.engin.umich.edu>
    Date:  Thu, 06 Mar 1997 14:12:09 -0500
   Files:  op.c pod/perldelta.pod pod/perlsub.pod pod/perltrap.pod
@@ -599,14 +915,14 @@ Me, now:
  CORE PORTABILITY
 
   Title:  "VMS update"
-   From:  Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+   From:  Charles Bailey
  Msg-ID:  <01IG8KN5R28M00661G@hmivax.humgen.upenn.edu>
    Date:  Fri, 07 Mar 1997 22:49:46 -0500 (EST)
   Files:  lib/ExtUtils/MM_VMS.pm vms/descrip.mms vms/gen_shrfls.pl
           vms/sockadapt.h
 
   Title:  "AmigaOS hint patch"
-   From:  "Norbert Pueschel" <pueschel@imsdd.meb.uni-bonn.de>
+   From:  Norbert Pueschel
  Msg-ID:  <77724767@Armageddon.meb.uni-bonn.de>
    Date:  Sat, 08 Mar 1997 12:50:15 +0100
   Files:  hints/amigaos.sh
@@ -622,7 +938,7 @@ Me, now:
   Files:  op.c perl.c proto.h
 
   Title:  "perl -P path patch"
-   From:  Andy Dougherty <doughera@fractal.phys.lafayette.edu>
+   From:  Andy Dougherty
  Msg-ID:  <Pine.SOL.3.95q.970308120242.23766D-100000@fractal.lafayette.
    Date:  Sat, 08 Mar 1997 12:45:08 -0500 (EST)
   Files:  config_H config_h.SH perl.c plan9/config.plan9 t/comp/cpp.t
@@ -637,13 +953,13 @@ Me, now:
   Files:  Configure
 
   Title:  "Allow './Configure -Uoptimize'"
-   From:  Andy Dougherty <doughera@fractal.phys.lafayette.edu>
+   From:  Andy Dougherty
  Msg-ID:  <Pine.SOL.3.95q.970306110532.11070A-100000@fractal.lafayette.
    Date:  Thu, 06 Mar 1997 11:15:47 -0500 (EST)
   Files:  Configure
 
   Title:  "Use 'test -f', not 'test -x'"
-   From:  Spider Boardman <spider@web.zk3.dec.com>
+   From:  Spider Boardman
  Msg-ID:  <199703080053.TAA13943@web.zk3.dec.com>
    Date:  Fri, 7 Mar 1997 19:53:00 -0500
   Files:  Configure
@@ -663,13 +979,13 @@ Me, now:
   Files:  lib/Carp.pm
 
   Title:  "@EXPORT_FAIL fix for Exporter.pm"
-   From:  Roderick Schertler <roderick@argon.org>
+   From:  Roderick Schertler
  Msg-ID:  <24884.857841724@eeyore.ibcinc.com>
    Date:  Sat, 08 Mar 1997 12:22:04 -0500
   Files:  lib/Exporter.pm
 
   Title:  "Open[23] autoflush docs"
-   From:  Roderick Schertler <roderick@argon.org>
+   From:  Roderick Schertler
  Msg-ID:  <7939.857693947@eeyore.ibcinc.com>
    Date:  Thu, 06 Mar 1997 19:19:07 -0500
   Files:  lib/IPC/Open2.pm lib/IPC/Open3.pm
@@ -695,7 +1011,7 @@ Me, now:
  DOCUMENTATION
 
   Title:  "Consolidated INSTALL updates since _92"
-   From:  Andy Dougherty <doughera@fractal.phys.lafayette.edu>
+   From:  Andy Dougherty
  Msg-ID:  <Pine.SOL.3.95q.970308131806.23766F-100000@fractal.lafayette.
    Date:  Sat, 08 Mar 1997 13:21:22 -0500 (EST)
 
@@ -709,13 +1025,13 @@ Me, now:
   Files:  pod/perlform.pod
 
   Title:  "OS/2 doc update"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199703080537.AAA25157@monk.mps.ohio-state.edu>
    Date:  Sat, 8 Mar 1997 00:37:30 -0500 (EST)
   Files:  README.os2
 
   Title:  "PODs corrections"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199703080253.VAA24975@monk.mps.ohio-state.edu>
    Date:  Fri, 7 Mar 1997 21:53:04 -0500 (EST)
   Files:  ext/DB_File/DB_File.pm ext/Socket/Socket.pm
@@ -728,9 +1044,9 @@ Me, now:
           pod/perlop.pod pod/perlsub.pod
 
 
-----------------
-Version 5.003_92
-----------------
+------------------
+ Version 5.003_92
+------------------
 
 This release will be the public beta of 5.004, or my name isn't
 Larson T. Pettifogger.
@@ -754,19 +1070,19 @@ Larson T. Pettifogger.
   Files:  hints/hpux.sh
 
   Title:  "Re: The continuing MachTen saga"
-   From:  Tom Phoenix <rootbeer@teleport.com>
+   From:  Tom Phoenix
  Msg-ID:  <Pine.GSO.3.95q.970305091611.3572E-100000@kelly.teleport.com>
    Date:  Wed, 5 Mar 1997 09:47:22 -0800 (PST)
   Files:  hints/machten_2.sh
 
   Title:  "OS/2 patches"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199703060308.WAA22211@monk.mps.ohio-state.edu>
    Date:  Wed, 5 Mar 1997 22:08:43 -0500 (EST)
   Files:  hints/os2.sh lib/ExtUtils/MakeMaker.pm t/op/taint.t
 
   Title:  "VMS patches"
-   From:  Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+   From:  Charles Bailey
  Msg-ID:  <01IG5SQE4A6U00661G@hmivax.humgen.upenn.edu>
    Date:  Wed, 05 Mar 1997 23:10:24 -0500 (EST)
   Files:  lib/ExtUtils/MM_VMS.pm lib/ExtUtils/Manifest.pm perlsdio.h
@@ -808,7 +1124,7 @@ Larson T. Pettifogger.
   Files:  op.c
 
   Title:  "Eliminate format-string type warnings"
-   From:  Hallvard B Furuseth <h.b.furuseth@usit.uio.no>
+   From:  Hallvard B Furuseth
  Msg-ID:  <199703030915.KAA11634@bombur2.uio.no>
    Date:  Mon, 3 Mar 1997 10:15:11 +0100 (MET)
   Files:  doio.c ext/POSIX/POSIX.xs gv.c hints/dec_osf.sh pp.c pp_ctl.c
@@ -821,7 +1137,7 @@ Larson T. Pettifogger.
  BUILD PROCESS
 
   Title:  "near-harmless bug in _91's Configure"
-   From:  Roderick Schertler <roderick@argon.org>
+   From:  Roderick Schertler
  Msg-ID:  <pzg1yfuiza.fsf@eeyore.ibcinc.com>
    Date:  01 Mar 1997 21:26:49 -0500
   Files:  Configure
@@ -833,7 +1149,7 @@ Larson T. Pettifogger.
  LIBRARY AND EXTENSIONS
 
   Title:  "Newer ReadLine"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199703040634.BAA19919@monk.mps.ohio-state.edu>
    Date:  Tue, 4 Mar 1997 01:34:28 -0500 (EST)
   Files:  lib/Term/ReadLine.pm lib/perl5db.pl
@@ -871,7 +1187,7 @@ Larson T. Pettifogger.
   Files:  t/TEST
 
   Title:  "Smarter t/op/taint.t"
-   From:  Tom Phoenix <rootbeer@teleport.com>
+   From:  Tom Phoenix
  Msg-ID:  <Pine.GSO.3.95q.970303103047.24000A-100000@kelly.teleport.com
    Date:  Mon, 3 Mar 1997 10:31:54 -0800 (PST)
   Files:  t/op/taint.t
@@ -899,7 +1215,7 @@ Larson T. Pettifogger.
  DOCUMENTATION
 
   Title:  "Add taint checks and srand to perldelta"
-   From:  Tom Phoenix <rootbeer@teleport.com>
+   From:  Tom Phoenix
  Msg-ID:  <Pine.GSO.3.95q.970302115355.23058D-100000@kelly.teleport.com
    Date:  Sun, 2 Mar 1997 11:56:08 -0800 (PST)
   Files:  pod/perldelta.pod
@@ -909,26 +1225,25 @@ Larson T. Pettifogger.
   Files:  pod/perldelta.pod
 
   Title:  "Improve sample module header"
-   From:  Tom Christiansen <tchrist@jhereg.perl.com>,
-          Graham Barr <gbarr@ti.com>
+   From:  Tom Christiansen and Graham Barr
  Msg-ID:  <199703011732.KAA14693@jhereg.perl.com>
    Date:  Sat, 01 Mar 1997 10:32:31 -0700
   Files:  pod/perlmod.pod
 
   Title:  "Clarify C<crypt> documentation"
-   From:  Tom Phoenix <rootbeer@teleport.com>
+   From:  Tom Phoenix
  Msg-ID:  <Pine.GSO.3.95q.970228131112.12357D-100000@kelly.teleport.com
    Date:  Fri, 28 Feb 1997 13:18:25 -0800 (PST)
   Files:  pod/perlfunc.pod
 
   Title:  "Update list of CPAN sites"
-   From:  Jarkko Hietaniemi <jhi@iki.fi>
+   From:  Jarkko Hietaniemi
  Msg-ID:  <199703021454.QAA07446@alpha.hut.fi>
    Date:  Sun, 2 Mar 1997 16:54:22 +0200 (EET)
   Files:  pod/perlmod.pod
 
   Title:  "Enhance description of 'server error'"
-   From:  Jarkko Hietaniemi <jhi@cc.hut.fi>
+   From:  Jarkko Hietaniemi
  Msg-ID:  <199702041903.VAA16070@alpha.hut.fi>
    Date:  Tue, 4 Feb 1997 21:03:23 +0200 (EET)
   Files:  pod/perldiag.pod
@@ -938,16 +1253,16 @@ Larson T. Pettifogger.
   Files:  pod/*.pod
 
 
-----------------
-Version 5.003_91
-----------------
+------------------
+ Version 5.003_91
+------------------
 
 This is (should be?  must be!) the public beta of 5.004.
 
  CORE LANGUAGE CHANGES
 
   Title:  "Fix perl_call_*() when !G_EVAL"
-   From:  Gurusamy Sarathy <gsar@engin.umich.edu>
+   From:  Gurusamy Sarathy
  Msg-ID:  <199702250725.CAA09192@aatma.engin.umich.edu>,
           <199702251925.OAA15498@aatma.engin.umich.edu>,
           <199702252200.RAA16853@aatma.engin.umich.edu>
@@ -964,7 +1279,7 @@ This is (should be?  must be!) the public beta of 5.004.
   Files:  pp_sys.c
 
   Title:  "Don't taint magic hash keys unnecessarily"
-   From:  Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+   From:  Charles Bailey
  Msg-ID:  <01IFXL9TY74Y00661G@hmivax.humgen.upenn.edu>
    Date:  Fri, 28 Feb 1997 02:11:26 -0500 (EST)
   Files:  hv.c
@@ -972,7 +1287,7 @@ This is (should be?  must be!) the public beta of 5.004.
  CORE PORTABILITY
 
   Title:  "VMS patches post _90"
-   From:  Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+   From:  Charles Bailey
  Msg-ID:  <01IFYDE5ZT7O005A53@hmivax.humgen.upenn.edu>
    Date:  Fri, 28 Feb 1997 15:26:33 -0500 (EST)
   Files:  doio.c mg.c perl.h pp_hot.c t/op/rand.t t/op/taint.t taint.c
@@ -1001,19 +1316,19 @@ This is (should be?  must be!) the public beta of 5.004.
   Files:  perl.c pp.c pp_sys.c toke.c util.c
 
   Title:  "Clean up and document API for hashes"
-   From:  Gurusamy Sarathy <gsar@engin.umich.edu>
+   From:  Gurusamy Sarathy
  Msg-ID:  <199702251824.NAA14859@aatma.engin.umich.edu>
    Date:  Tue, 25 Feb 1997 13:24:02 -0500
   Files:  hv.c hv.h pod/perldelta.pod pod/perlguts.pod
 
   Title:  "pp_undef was not always freeing memory"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199702270653.BAA13949@monk.mps.ohio-state.edu>
    Date:  Thu, 27 Feb 1997 01:53:51 -0500 (EST)
   Files:  pp.c
 
   Title:  "Fix SEGV when debugging with foreach() lvalue patch"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199702271924.OAA14557@monk.mps.ohio-state.edu>
    Date:  Thu, 27 Feb 1997 14:24:36 -0500 (EST)
   Files:  sv.c
@@ -1023,7 +1338,7 @@ This is (should be?  must be!) the public beta of 5.004.
   Files:  pp_hot.c
 
   Title:  "Silence bogus typo warning on $DB::postponed"
-   From:  Gurusamy Sarathy <gsar@engin.umich.edu>
+   From:  Gurusamy Sarathy
  Msg-ID:  <199702271802.NAA12505@aatma.engin.umich.edu>
    Date:  Thu, 27 Feb 1997 13:02:30 -0500
   Files:  op.c
@@ -1031,7 +1346,7 @@ This is (should be?  must be!) the public beta of 5.004.
  BUILD PROCESS
 
   Title:  "Sanity check linking with $libs"
-   From:  Andy Dougherty <doughera@fractal.phys.lafayette.edu>
+   From:  Andy Dougherty
  Msg-ID:  <Pine.SOL.3.95q.970225221634.2486A-100000@fractal.lafayette.edu>
    Date:  Tue, 25 Feb 1997 14:13:45 -0500 (EST)
   Files:  Configure
@@ -1045,7 +1360,7 @@ This is (should be?  must be!) the public beta of 5.004.
   Files:  Configure
 
   Title:  "Update OS/2 Configure diff"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199702251906.OAA10608@monk.mps.ohio-state.edu>
    Date:  Tue, 25 Feb 1997 14:06:23 -0500 (EST)
   Files:  os2/diff.configure
@@ -1057,7 +1372,7 @@ This is (should be?  must be!) the public beta of 5.004.
   Files:  lib/perl5db.pl
 
   Title:  "Make IPC::Open3 work without fork()"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199702251937.OAA10718@monk.mps.ohio-state.edu>
    Date:  Tue, 25 Feb 1997 14:37:07 -0500 (EST)
   Files:  lib/IPC/Open3.pm
@@ -1069,7 +1384,7 @@ This is (should be?  must be!) the public beta of 5.004.
   Files:  lib/Getopt/Long.pm lib/diagnostics.pm
 
   Title:  "Don't warn on use of CCFLAGS"
-   From:  Andreas Koenig <k@anna.in-berlin.de>
+   From:  Andreas Koenig
  Msg-ID:  <199702251038.LAA13123@anna.in-berlin.de>
    Date:  Tue, 25 Feb 1997 11:38:43 +0100
   Files:  lib/ExtUtils/MakeMaker.pm
@@ -1083,13 +1398,13 @@ This is (should be?  must be!) the public beta of 5.004.
  TESTS
 
   Title:  "New test op/taint.t"
-   From:  Tom Phoenix <rootbeer@teleport.com>
+   From:  Tom Phoenix
  Msg-ID:  <Pine.GSO.3.95q.970225101328.18288M-100000@kelly.teleport.com
    Date:  Tue, 25 Feb 1997 11:36:53 -0800 (PST)
   Files:  MANIFEST t/op/taint.t
 
   Title:  "Patch to t/op/rand.t"
-   From:  Tom Phoenix <rootbeer@teleport.com>
+   From:  Tom Phoenix
  Msg-ID:  <Pine.GSO.3.95q.970225181321.13796Q-100000@kelly.teleport.com
    Date:  Tue, 25 Feb 1997 18:19:34 -0800 (PST)
   Files:  t/op/rand.t
@@ -1107,7 +1422,7 @@ This is (should be?  must be!) the public beta of 5.004.
  DOCUMENTATION
 
   Title:  "Warn about intrusive sfio behavior"
-   From:  Andy Dougherty <doughera@fractal.phys.lafayette.edu>
+   From:  Andy Dougherty
  Msg-ID:  <Pine.SOL.3.95q.970228112136.24038G-100000@fractal.lafayette.
    Date:  Fri, 28 Feb 1997 11:35:49 -0500 (EST)
   Files:  INSTALL
@@ -1130,9 +1445,9 @@ This is (should be?  must be!) the public beta of 5.004.
           pod/perltoc.pod
 
 
-----------------
-Version 5.003_90
-----------------
+------------------
+ Version 5.003_90
+------------------
 
 At last, a mil[le]stone:  The first beta of Perl 5.004.
 
@@ -1145,20 +1460,20 @@ At last, a mil[le]stone:  The first beta of Perl 5.004.
  CORE PORTABILITY
 
   Title:  "Ultrix hints"
-   From:  Spider Boardman <spider@Orb.Nashua.NH.US>
+   From:  Spider Boardman
  Msg-ID:  <199702220951.EAA08156@Orb.Nashua.NH.US>
    Date:  Sat, 22 Feb 1997 04:51:48 -0500
   Files:  hints/ultrix_4.sh
 
   Title:  "Digital UNIX and 3_28"
-   From:  Jarkko Hietaniemi <jhi@iki.fi>
+   From:  Jarkko Hietaniemi
  Msg-ID:  <199702231427.QAA13807@alpha.hut.fi>
    Date:  Sun, 23 Feb 1997 16:27:19 +0200 (EET)
   Files:  Configure MANIFEST ext/NDBM_File/hints/dec_osf.pl
           ext/ODBM_File/hints/dec_osf.pl hints/dec_osf.sh
 
   Title:  "AmigaOS patches to 5.003_28"
-   From:  "Norbert Pueschel" <pueschel@imsdd.meb.uni-bonn.de>
+   From:  Norbert Pueschel
  Msg-ID:  <77724759@Armageddon.meb.uni-bonn.de>
    Date:  Sat, 22 Feb 1997 18:08:02 +0100
   Files:  README.amiga hints/amigaos.sh t/io/fs.t t/lib/anydbm.t
@@ -1185,7 +1500,7 @@ At last, a mil[le]stone:  The first beta of Perl 5.004.
  BUILD PROCESS
 
   Title:  "Re: ccdlflags don't quite work"
-   From:  Andy Dougherty <doughera@fractal.phys.lafayette.edu>
+   From:  Andy Dougherty
  Msg-ID:  <Pine.SOL.3.95q.970224160630.5700E-100000@fractal.lafayette.e
    Date:  Mon, 24 Feb 1997 16:07:07 -0500 (EST)
   Files:  Configure
@@ -1195,13 +1510,13 @@ At last, a mil[le]stone:  The first beta of Perl 5.004.
   Files:  Configure
 
   Title:  "'installperl -v' doesn't do enough"
-   From:  Spider Boardman <spider@Orb.Nashua.NH.US>
+   From:  Spider Boardman
  Msg-ID:  <199702241342.IAA25945@Orb.Nashua.NH.US>
    Date:  Mon, 24 Feb 1997 08:42:59 -0500
   Files:  installperl
 
   Title:  "installperl breaks running system (for a while)"
-   From:  Spider Boardman <spider@Orb.Nashua.NH.US>
+   From:  Spider Boardman
  Msg-ID:  <199702241412.JAA11829@Orb.Nashua.NH.US>
    Date:  Mon, 24 Feb 1997 09:12:11 -0500
   Files:  installperl
@@ -1209,23 +1524,23 @@ At last, a mil[le]stone:  The first beta of Perl 5.004.
  LIBRARY AND EXTENSIONS
 
   Title:  "Don't clobber $1 et al in debugger's DB::sub()"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
   Files:  lib/perl5db.pl
 
   Title:  "Fix fd leak in IO::Pipe"
-   From:  Roderick Schertler <roderick@gate.net>
+   From:  Roderick Schertler
  Msg-ID:  <pzn2sv722y.fsf@eeyore.ibcinc.com>
    Date:  23 Feb 1997 14:29:57 -0500
   Files:  ext/IO/lib/IO/Pipe.pm
 
   Title:  "Pod::Text fixes"
-   From:  Roderick Schertler <roderick@gate.net>
+   From:  Roderick Schertler
  Msg-ID:  <350.856634588@eeyore.ibcinc.com>
    Date:  Sat, 22 Feb 1997 13:03:08 -0500
   Files:  lib/Pod/Text.pm
 
   Title:  "Trivial patch to make ExtUtils::Install more -w clean"
-   From:  Tim Bunce <Tim.Bunce@ig.co.uk>
+   From:  Tim Bunce
  Msg-ID:  <9702241605.AA17436@toad.ig.co.uk>
    Date:  Mon, 24 Feb 1997 16:05:17 +0000
   Files:  lib/ExtUtils/Install.pm
@@ -1237,7 +1552,7 @@ At last, a mil[le]stone:  The first beta of Perl 5.004.
  TESTS
 
   Title:  "More thoroughly test rand() and srand()"
-   From:  Tom Phoenix <rootbeer@teleport.com>
+   From:  Tom Phoenix
   Files:  t/op/rand.t
 
   Title:  "Don't use <*> where readdir() will do"
@@ -1253,19 +1568,19 @@ At last, a mil[le]stone:  The first beta of Perl 5.004.
  UTILITIES
 
   Title:  "Post-28 INSTALL updates"
-   From:  Andy Dougherty <doughera@fractal.phys.lafayette.edu>
+   From:  Andy Dougherty
  Msg-ID:  <Pine.SOL.3.95q.970224170713.5700H-100000@fractal.lafayette.e
    Date:  Mon, 24 Feb 1997 17:09:09 -0500 (EST)
   Files:  INSTALL
 
   Title:  "Re: Hash key created by subroutine call? (fwd) "
-   From:  Gurusamy Sarathy <gsar@engin.umich.edu>
+   From:  Gurusamy Sarathy
  Msg-ID:  <199702242229.RAA04395@aatma.engin.umich.edu>
    Date:  Mon, 24 Feb 1997 17:29:30 -0500
   Files:  pod/perlsub.pod pod/perltrap.pod
 
   Title:  "Add documentation and '-h' option to perlbug"
-   From:  Gurusamy Sarathy <gsar@engin.umich.edu>
+   From:  Gurusamy Sarathy
  Msg-ID:  <199702240854.DAA27128@aatma.engin.umich.edu>
           and <199702242009.PAA02849@aatma.engin.umich.edu>
    Date:  Mon, 24 Feb 1997
@@ -1273,7 +1588,7 @@ At last, a mil[le]stone:  The first beta of Perl 5.004.
           utils/perlbug.PL
 
   Title:  "pumpkin-1.9.pod"
-   From:  Andy Dougherty <doughera@fractal.phys.lafayette.edu>
+   From:  Andy Dougherty
  Msg-ID:  <Pine.SOL.3.95q.970224155702.5700D-100000@fractal.lafayette.e
    Date:  Mon, 24 Feb 1997 16:06:02 -0500 (EST)
   Files:  Porting/pumpkin.pod
@@ -1281,19 +1596,19 @@ At last, a mil[le]stone:  The first beta of Perl 5.004.
  DOCUMENTATION
 
   Title:  "Fix typo in 'Tolkien quotation typo' fix"
-   From:  Jarkko Hietaniemi <jhi@hut.fi>
+   From:  Jarkko Hietaniemi
   Files:  Changes
 
   Title:  "Document one-argument limitation with #! line"
-   From:  Tom Phoenix <rootbeer@teleport.com>
+   From:  Tom Phoenix
  Msg-ID:  <Pine.GSO.3.95q.970223182745.15989A-100000@kelly.teleport.com
    Date:  Sun, 23 Feb 1997 18:41:02 -0800 (PST)
   Files:  pod/perldiag.pod pod/perlsec.pod
 
 
-----------------
-Version 5.003_28
-----------------
+------------------
+ Version 5.003_28
+------------------
 
 This release is beta candidate #6.  If this isn't good enough to go beta,
 I'll eat a floppy disk.  (Okay, it's a chocolate floppy, but still....)
@@ -1317,7 +1632,7 @@ I'll eat a floppy disk.  (Okay, it's a chocolate floppy, but still....)
   Files:  run.c
 
   Title:  "When overloading, don't throw away nomethod's value"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
   Files:  gv.c
 
   Title:  "Optimize keys() and values() in void context"
@@ -1327,7 +1642,7 @@ I'll eat a floppy disk.  (Okay, it's a chocolate floppy, but still....)
  CORE PORTABILITY
 
   Title:  "New hints for Digital UNIX"
-   From:  Jarkko Hietaniemi <jhi@iki.fi>
+   From:  Jarkko Hietaniemi
   Files:  hints/dec_osf.sh
 
   Title:  "No version of AIX has working setre[ug]id()"
@@ -1335,7 +1650,7 @@ I'll eat a floppy disk.  (Okay, it's a chocolate floppy, but still....)
   Files:  hints/aix.sh
 
   Title:  "VMS patches post _27"
-   From:  Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+   From:  Charles Bailey
  Msg-ID:  <01IFMEMPN1IU0057E2@hmivax.humgen.upenn.edu>
    Date:  Thu, 20 Feb 1997 01:58:46 -0500 (EST)
   Files:  MANIFEST dosish.h hv.c lib/ExtUtils/MM_VMS.pm
@@ -1345,7 +1660,7 @@ I'll eat a floppy disk.  (Okay, it's a chocolate floppy, but still....)
           vms/vms.c vms/vmsish.h
 
   Title:  "Re: OS/2 patch for _27"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199702210024.TAA03174@monk.mps.ohio-state.edu>
    Date:  Thu, 20 Feb 1997 19:24:16 -0500 (EST)
   Files:  INSTALL README.os2 lib/Test/Harness.pm os2/Changes
@@ -1372,7 +1687,7 @@ I'll eat a floppy disk.  (Okay, it's a chocolate floppy, but still....)
   Files:  op.c
 
   Title:  "Minor update to malloc.c"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199702210244.VAA03676@monk.mps.ohio-state.edu>
    Date:  Thu, 20 Feb 1997 21:44:13 -0500 (EST)
   Files:  malloc.c
@@ -1388,13 +1703,13 @@ I'll eat a floppy disk.  (Okay, it's a chocolate floppy, but still....)
  LIBRARY AND EXTENSIONS
 
   Title:  "Debugger patch"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199702210737.CAA03951@monk.mps.ohio-state.edu>
    Date:  Fri, 21 Feb 1997 02:37:59 -0500 (EST)
   Files:  lib/perl5db.pl
 
   Title:  "Avoid $` $& $' in libraries"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199702210207.VAA03560@monk.mps.ohio-state.edu>
    Date:  Thu, 20 Feb 1997 21:07:30 -0500 (EST)
   Files:  lib/Getopt/Long.pm lib/Pod/Text.pm lib/diagnostics.pm
@@ -1437,7 +1752,7 @@ I'll eat a floppy disk.  (Okay, it's a chocolate floppy, but still....)
  DOCUMENTATION
 
   Title:  "INSTALL updates since _26"
-   From:  Andy Dougherty <doughera@fractal.phys.lafayette.edu>
+   From:  Andy Dougherty
  Msg-ID:  <Pine.SOL.3.95q.970218155815.2014F-100000@fractal.lafayette.e
    Date:  Tue, 18 Feb 1997 16:00:08 -0500 (EST)
   Files:  INSTALL
@@ -1455,7 +1770,7 @@ I'll eat a floppy disk.  (Okay, it's a chocolate floppy, but still....)
   Files:  pod/perldelta.pod pod/perlop.pod
 
   Title:  "Document C<$?> vs. $SIG{CHLD}"
-   From:  Ulrich Pfeifer <pfeifer@charly.informatik.uni-dortmund.de>
+   From:  Ulrich Pfeifer
   Files:  pod/perlvar.pod
 
   Title:  "Add pumpkin.pod"
@@ -1470,28 +1785,28 @@ I'll eat a floppy disk.  (Okay, it's a chocolate floppy, but still....)
           pod/perltie.pod pod/perltoc.pod pod/perltrap.pod x2p/a2p.pod
 
 
-----------------
-Version 5.003_27
-----------------
+------------------
+ Version 5.003_27
+------------------
 
 This release is beta candidate #5: Our last, best hope for a beta.
 
  CORE LANGUAGE CHANGES
 
   Title:  "Better looks_like_number() function [sv.c]"
-   From:  Gisle Aas <aas@bergen.sn.no>
+   From:  Gisle Aas
  Msg-ID:  <199702141708.SAA17546@bergen.sn.no>
    Date:  Fri, 14 Feb 1997 18:08:52 +0100
   Files:  sv.c
 
   Title:  "Remove redundant functions UNIVERSAL::{class,is_instance}"
-   From:  Gisle Aas <aas@bergen.sn.no>
+   From:  Gisle Aas
  Msg-ID:  <hwwsbpeq2.fsf@bergen.sn.no>
    Date:  14 Feb 1997 15:52:21 +0000
   Files:  pod/perldelta.pod pod/perlobj.pod t/op/universal.t universal.c
 
   Title:  "Allow C<setpgrp $$>"
-   From:  Roderick Schertler <roderick@gate.net>
+   From:  Roderick Schertler
  Msg-ID:  <pzraigyshr.fsf@eeyore.ibcinc.com>
    Date:  16 Feb 1997 23:19:12 -0500
   Files:  pp_sys.c
@@ -1511,7 +1826,7 @@ This release is beta candidate #5: Our last, best hope for a beta.
  CORE PORTABILITY
 
   Title:  "Eliminate $^S; add C<use vmsish qw(status exit time)>"
-   From:  Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+   From:  Charles Bailey
  Msg-ID:  <01IFI9CFKL0S004R2V@hmivax.humgen.upenn.edu>
    Date:  Mon, 17 Feb 1997 02:45:26 -0500 (EST)
   Files:  MANIFEST gv.c lib/English.pm lib/ExtUtils/MM_VMS.pm
@@ -1528,7 +1843,7 @@ This release is beta candidate #5: Our last, best hope for a beta.
   Files:  hints/sco.sh unixish.h
 
   Title:  "Digital UNIX hints"
-   From:  Jarkko Hietaniemi <jhi@iki.fi>
+   From:  Jarkko Hietaniemi
  Msg-ID:  <199702151906.VAA22999@alpha.hut.fi>
    Date:  Sat, 15 Feb 1997 21:06:33 +0200 (EET)
   Files:  hints/dec_osf.sh
@@ -1551,13 +1866,13 @@ This release is beta candidate #5: Our last, best hope for a beta.
   Files:  perl.c
 
   Title:  "Re: Fragile signals"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199702130644.BAA07572@monk.mps.ohio-state.edu>
    Date:  Thu, 13 Feb 1997 01:44:39 -0500 (EST)
   Files:  mg.c
 
   Title:  "Make format strings correspond exactly to parameters"
-   From:  Roderick Schertler <roderick@gate.net>
+   From:  Roderick Schertler
  Msg-ID:  <pz7mkc1h0g.fsf@eeyore.ibcinc.com>
    Date:  13 Feb 1997 17:24:31 -0500
   Files:  doio.c ext/DB_File/DB_File.xs ext/Opcode/Opcode.xs gv.c op.c
@@ -1614,11 +1929,11 @@ This release is beta candidate #5: Our last, best hope for a beta.
           lib/ExtUtils/MakeMaker.pm lib/ExtUtils/Mksymlists.pm
 
   Title:  "Refresh CPAN.pm to 1.21"
-   From:  Andreas Koenig <a.koenig@mind.de>
+   From:  Andreas Koenig
   Files:  lib/CPAN.pm lib/CPAN/FirstTime.pm lib/CPAN/Nox.pm
 
   Title:  "Refresh Test::Harness to 1.15"
-   From:  Andreas Koenig <a.koenig@mind.de>
+   From:  Andreas Koenig
   Files:  lib/Test/Harness.pm
 
  TESTS
@@ -1630,7 +1945,7 @@ This release is beta candidate #5: Our last, best hope for a beta.
  UTILITIES
 
   Title:  "pod2man: missing '-' in name section shouldn't be fatal"
-   From:  Ulrich Pfeifer <pfeifer@charly.informatik.uni-dortmund.de>
+   From:  Ulrich Pfeifer
  Msg-ID:  <yfmzpxcimsa.fsf@ls6.informatik.uni-dortmund.de>
    Date:  10 Feb 1997 18:38:45 +0100
   Files:  pod/pod2man.PL
@@ -1638,7 +1953,7 @@ This release is beta candidate #5: Our last, best hope for a beta.
  DOCUMENTATION
 
   Title:  "Update To-Do list"
-   From:  Tim Bunce <Tim.Bunce@ig.co.uk>
+   From:  Tim Bunce
  Msg-ID:  <9702101900.AA25293@toad.ig.co.uk>
    Date:  Mon, 10 Feb 1997 19:00:59 +0000
   Files:  Todo
@@ -1648,9 +1963,9 @@ This release is beta candidate #5: Our last, best hope for a beta.
   Files:  pod/perldiag.pod
 
 
-----------------
-Version 5.003_26
-----------------
+------------------
+ Version 5.003_26
+------------------
 
 This release is beta candidate #4.  "Once more, dear friends...."
 
@@ -1671,7 +1986,7 @@ This release is beta candidate #4.  "Once more, dear friends...."
   Files:  mg.c perl.h pp_sys.c
 
   Title:  "VMS patches post _25"
-   From:  Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+   From:  Charles Bailey
  Msg-ID:  <01IF48W3P39W0050BD@hmivax.humgen.upenn.edu>
    Date:  Fri, 07 Feb 1997 01:56:12 -0500 (EST)
   Files:  Porting/Glossary lib/ExtUtils/Liblist.pm
@@ -1700,13 +2015,13 @@ This release is beta candidate #4.  "Once more, dear friends...."
   Files:  cop.h pp_ctl.c
 
   Title:  "Regexp optimizations"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199702041102.GAA24805@monk.mps.ohio-state.edu>
    Date:  Tue, 4 Feb 1997 06:02:10 -0500 (EST)
   Files:  regcomp.c regexec.c
 
   Title:  "Re: static buffer in not_a_number() [sv.c] might overflow"
-   From:  Gisle Aas <aas@bergen.sn.no>
+   From:  Gisle Aas
  Msg-ID:  <hbu9uz1si.fsf@bergen.sn.no>
    Date:  09 Feb 1997 11:55:41 +0100
   Files:  sv.c
@@ -1726,19 +2041,19 @@ This release is beta candidate #4.  "Once more, dear friends...."
  BUILD PROCESS
 
   Title:  "Fix usage message in configure.gnu"
-   From:  Jarkko Hietaniemi <jhi@cc.hut.fi>
+   From:  Jarkko Hietaniemi
   Files:  configure.gnu
 
  LIBRARY AND EXTENSIONS
 
   Title:  "DB_File 1.11 patch"
-   From:  pmarquess@bfsec.bt.co.uk (Paul Marquess)
+   From:  Paul Marquess
  Msg-ID:  <9702061553.AA18147@claudius.bfsec.bt.co.uk>
    Date:  Thu, 6 Feb 97 15:53:34 GMT
   Files:  ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs
 
   Title:  "Faster File::Compare"
-   From:  Gisle Aas <aas@bergen.sn.no>
+   From:  Gisle Aas
  Msg-ID:  <199702051342.OAA02753@bergen.sn.no>
    Date:  Wed, 5 Feb 1997 14:42:49 +0100
   Files:  lib/File/Compare.pm
@@ -1754,7 +2069,7 @@ This release is beta candidate #4.  "Once more, dear friends...."
  TESTS
 
   Title:  "Fix closure.t for AmigaOS (again)"
-   From:  "Norbert Pueschel" <pueschel@imsdd.meb.uni-bonn.de>
+   From:  Norbert Pueschel
  Msg-ID:  <77724742@Armageddon.meb.uni-bonn.de>
    Date:  Wed, 05 Feb 1997 18:56:45 +0100
   Files:  t/op/closure.t
@@ -1762,13 +2077,13 @@ This release is beta candidate #4.  "Once more, dear friends...."
  UTILITIES
 
   Title:  "perldoc -f <perlfunc>"
-   From:  Gisle Aas <aas@bergen.sn.no>
+   From:  Gisle Aas
  Msg-ID:  <199702051127.MAA02090@bergen.sn.no>
    Date:  Wed, 5 Feb 1997 12:27:36 +0100
   Files:  utils/perldoc.PL
 
   Title:  "Fix pod2man's handling of quotes in =items"
-   From:  Jarkko Hietaniemi <jhi@iki.fi>
+   From:  Jarkko Hietaniemi
  Msg-ID:  <199702042023.WAA13143@alpha.hut.fi>
    Date:  Tue, 4 Feb 1997 22:23:34 +0200 (EET)
   Files:  pod/pod2man.PL
@@ -1786,9 +2101,9 @@ This release is beta candidate #4.  "Once more, dear friends...."
   Files:  pod/perltie.pod
 
 
-----------------
-Version 5.003_25
-----------------
+------------------
+ Version 5.003_25
+------------------
 
 This release is beta candidate #3.  Here's hoping...
 
@@ -1811,7 +2126,7 @@ This release is beta candidate #3.  Here's hoping...
  CORE PORTABILITY
 
   Title:  "VMS patches for _24"
-   From:  Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+   From:  Charles Bailey
  Msg-ID:  <01IEUIFP5038004GQP@hmivax.humgen.upenn.edu>
    Date:  Fri, 31 Jan 1997 02:34:37 -0500 (EST)
   Files:  ext/DynaLoader/DynaLoader.pm ext/DynaLoader/dl_vms.xs
@@ -1821,13 +2136,13 @@ This release is beta candidate #3.  Here's hoping...
           vms/ext/filespec.t vms/vms.c vms/vmsish.h
 
   Title:  "hints/dec_osf.sh: polishing the comments"
-   From:  Jarkko Hietaniemi <jhi@cc.hut.fi>
+   From:  Jarkko Hietaniemi
  Msg-ID:  <199701301958.VAA08992@alpha.hut.fi>
    Date:  Thu, 30 Jan 1997 21:58:10 +0200 (EET)
   Files:  hints/dec_osf.sh
 
   Title:  "amigaos.sh"
-   From:  "Norbert Pueschel" <pueschel@imsdd.meb.uni-bonn.de>
+   From:  Norbert Pueschel
  Msg-ID:  <77724724@Armageddon.meb.uni-bonn.de>
    Date:  Wed, 29 Jan 1997 11:39:49 +0100
   Files:  hints/amigaos.sh
@@ -1847,7 +2162,7 @@ This release is beta candidate #3.  Here's hoping...
   Files:  pp_sys.c
 
   Title:  "Fix /\G/g with patterns that match empty string"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
   Files:  pp_hot.c
 
   Title:  "Fix scalar leak in av_unshift"
@@ -1875,11 +2190,11 @@ This release is beta candidate #3.  Here's hoping...
  LIBRARY AND EXTENSIONS
 
   Title:  "Refresh CPAN to 1.19"
-   From:  Andreas Koenig <a.koenig@mind.de>
+   From:  Andreas Koenig
   Files:  lib/Bundle/CPAN.pm lib/CPAN.pm lib/CPAN/FirstTime.pm
 
   Title:  "Debugger update"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199702030406.XAA23029@monk.mps.ohio-state.edu>
    Date:  Sun, 2 Feb 1997 23:06:34 -0500 (EST)
   Files:  lib/perl5db.pl
@@ -1893,7 +2208,7 @@ This release is beta candidate #3.  Here's hoping...
   Files:  ext/POSIX/POSIX.xs
 
   Title:  "Make IO::Handle::gets() an alias of getline"
-   From:  Gisle Aas <aas@bergen.sn.no>
+   From:  Gisle Aas
  Msg-ID:  <199701301103.MAA11291@bergen.sn.no>
    Date:  Thu, 30 Jan 1997 12:03:15 +0100
   Files:  ext/IO/lib/IO/Handle.pm lib/IO/Handle.pm
@@ -1901,7 +2216,7 @@ This release is beta candidate #3.  Here's hoping...
  TESTS
 
   Title:  "More Amiga test patches"
-   From:  "Norbert Pueschel" <pueschel@imsdd.meb.uni-bonn.de>
+   From:  Norbert Pueschel
  Msg-ID:  <77724725@Armageddon.meb.uni-bonn.de>
    Date:  Wed, 29 Jan 1997 16:07:33 +0100
   Files:  README.amiga t/lib/safe2.t t/op/closure.t
@@ -1937,7 +2252,7 @@ This release is beta candidate #3.  Here's hoping...
   Files:  pod/perldelta.pod
 
   Title:  "perlfunc.pod tweaks"
-   From:  Roderick Schertler <roderick@gate.net>
+   From:  Roderick Schertler
  Msg-ID:  <20526.854659255@eeyore.ibcinc.com>
    Date:  Thu, 30 Jan 1997 16:20:55 -0500
   Files:  pod/perlfunc.pod
@@ -1953,9 +2268,9 @@ This release is beta candidate #3.  Here's hoping...
   Files:  pod/perldiag.pod
 
 
-----------------
-Version 5.003_24
-----------------
+------------------
+ Version 5.003_24
+------------------
 
 This release is the second candidate for a public beta test.
 It's, well, bunches better than _23.
@@ -1963,19 +2278,19 @@ It's, well, bunches better than _23.
  CORE LANGUAGE CHANGES
 
   Title:  "glob defaults to $_"
-   From:  Gurusamy Sarathy <gsar@engin.umich.edu>
+   From:  Gurusamy Sarathy
  Msg-ID:  <199701270809.DAA00934@aatma.engin.umich.edu>
    Date:  Mon, 27 Jan 1997 03:09:13 -0500
   Files:  op.c opcode.pl pod/perlfunc.pod t/op/glob.t
 
   Title:  "Re: an overloading bug "
-   From:  Gurusamy Sarathy <gsar@engin.umich.edu>
+   From:  Gurusamy Sarathy
  Msg-ID:  <199701270007.TAA26525@aatma.engin.umich.edu>
    Date:  Sun, 26 Jan 1997 19:07:45 -0500
   Files:  pod/perldiag.pod pod/perlfunc.pod pp_ctl.c
 
   Title:  "Don't warn on C<$\ = undef>"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  mg.c
 
  CORE PORTABILITY
@@ -1985,7 +2300,7 @@ It's, well, bunches better than _23.
   Files:  MANIFEST win32/*
 
   Title:  "Amiga files"
-   From:  Norbert Pueschel <pueschel@imsdd.meb.uni-bonn.de>
+   From:  Norbert Pueschel
  Msg-ID:  <77724712@Armageddon.meb.uni-bonn.de>
    Date:  Sun, 26 Jan 1997 17:42:15 +0100
   Files:  MANIFEST README.amiga hints/amigaos.sh
@@ -1999,27 +2314,27 @@ It's, well, bunches better than _23.
  OTHER CORE CHANGES
 
   Title:  "Prevent premature death of @_ during leavesub"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp_hot.c t/op/misc.t
 
   Title:  "Deref old stash when re-blessing"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  sv.c
 
   Title:  "Don't abort when RCHECK and DEBUGGING"
-   From:  Tim Bunce <Tim.Bunce@ig.co.uk>
+   From:  Tim Bunce
  Msg-ID:  <9701272339.AA16537@toad.ig.co.uk>
    Date:  Mon, 27 Jan 1997 23:39:48 +0000
   Files:  malloc.c
 
   Title:  "Fix overloading macro conflict with Digital 'cc -fast'"
-   From:  Jarkko Hietaniemi <jhi@cc.hut.fi>
+   From:  Jarkko Hietaniemi
  Msg-ID:  <199701272216.AAA04557@alpha.hut.fi>
    Date:  Tue, 28 Jan 1997 00:16:49 +0200 (EET)
   Files:  perl.h
 
   Title:  "global.sym: typo?"
-   From:  Jarkko Hietaniemi <jhi@cc.hut.fi>
+   From:  Jarkko Hietaniemi
  Msg-ID:  <199701261937.VAA07556@alpha.hut.fi>
    Date:  Sun, 26 Jan 1997 21:37:59 +0200 (EET)
   Files:  global.sym
@@ -2027,39 +2342,39 @@ It's, well, bunches better than _23.
  BUILD PROCESS
 
   Title:  "Put all extensions' modules in $archlib"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  installperl
 
   Title:  "Configure fixes: set $archlib, omit _NO_PROTO"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  Configure
 
   Title:  "Make configure{,.gnu} ignore --cache-file option"
-   From:  Norbert Pueschel <pueschel@imsdd.meb.uni-bonn.de>
+   From:  Norbert Pueschel
   Files:  configure configure.gnu
 
  LIBRARY AND EXTENSIONS
 
   Title:  "Version checking in XS bootstrap is optional"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  XSUB.h
 
   Title:  "Update $VERSION of DynaLoader and POSIX"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  ext/DynaLoader/DynaLoader.pm ext/POSIX/POSIX.pm
 
   Title:  "Refresh Text::Wrap to 97.011701"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  lib/Text/Wrap.pm
 
   Title:  "Fcntl.xs: F_[GS]ETOWN were in wrong case branch"
-   From:  Jarkko Hietaniemi <jhi@cc.hut.fi>
+   From:  Jarkko Hietaniemi
  Msg-ID:  <199701251510.RAA05142@alpha.hut.fi>
    Date:  Sat, 25 Jan 1997 17:10:20 +0200 (EET)
   Files:  ext/Fcntl/Fcntl.pm ext/Fcntl/Fcntl.xs
 
   Title:  "Fix $Is_VMS typo in Test::Harness"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  lib/Test/Harness.pm
 
   Title:  "Allow for really big keys in Tie::SubstrHash"
@@ -2069,19 +2384,19 @@ It's, well, bunches better than _23.
   Files:  lib/Tie/SubstrHash.pm
 
   Title:  "Avoid newRV_noinc() in IO, for compiling with old Perls"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  ext/IO/IO.xs
 
  TESTS
 
   Title:  "New test op/closure.t"
-   From:  Tom Phoenix <rootbeer@teleport.com>, Ulrich Pfeifer
+   From:  Tom Phoenix, Ulrich Pfeifer
   Files:  MANIFEST t/op/closure.t
 
  UTILITIES
 
   Title:  "xsubpp handing of void funcs breaks extensions using XST_m*()"
-   From:  Tim Bunce <Tim.Bunce@ig.co.uk>
+   From:  Tim Bunce
  Msg-ID:  <9701271659.AA15137@toad.ig.co.uk>
    Date:  Mon, 27 Jan 1997 16:59:06 +0000
   Files:  lib/ExtUtils/xsubpp
@@ -2089,17 +2404,17 @@ It's, well, bunches better than _23.
  DOCUMENTATION
 
   Title:  "perldelta Fcntl enhancement"
-   From:  Jarkko Hietaniemi <jhi@cc.hut.fi>
+   From:  Jarkko Hietaniemi
  Msg-ID:  <199701251505.RAA22159@alpha.hut.fi>
    Date:  Sat, 25 Jan 1997 17:05:34 +0200 (EET)
   Files:  pod/perldelta.pod
 
   Title:  "Updates to perldelta re: Fcntl, DB_File, Net::Ping"
-   From:  pmarquess@bfsec.bt.co.uk (Paul Marquess)
+   From:  Paul Marquess
   Files:  pod/perldelta.pod
 
   Title:  "Document restrictions on gv_fetchmethod() and perl_call_sv()"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pod/perldelta.pod pod/perlguts.pod
 
   Title:  "perldiag.pod: No comma allowed after %s"
@@ -2109,7 +2424,7 @@ It's, well, bunches better than _23.
   Files:  pod/perldiag.pod
 
   Title:  "perlfunc.pod: localtime"
-   From:  Jarkko Hietaniemi <jhi@cc.hut.fi>
+   From:  Jarkko Hietaniemi
  Msg-ID:  <199701251629.SAA08114@alpha.hut.fi>
    Date:  Sat, 25 Jan 1997 18:29:37 +0200 (EET)
   Files:  pod/perlfunc.pod
@@ -2121,38 +2436,38 @@ It's, well, bunches better than _23.
   Files:  pod/perlfunc.pod
 
   Title:  "Updates to guts"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199701270034.TAA13177@monk.mps.ohio-state.edu>
    Date:  Sun, 26 Jan 1997 19:34:18 -0500 (EST)
   Files:  pod/perlguts.pod
 
   Title:  "perltoot fixes"
-   From:  Tom Christiansen <tchrist@mox.perl.com>
+   From:  Tom Christiansen
  Msg-ID:  <6807.854214205@jinete>
    Date:  Sat, 25 Jan 1997 09:43:25 -0800
   Files:  pod/perltoot.pod
 
   Title:  "5.003_23: small typo in perlsyn.pod"
-   From:  Gurusamy Sarathy <gsar@engin.umich.edu>
+   From:  Gurusamy Sarathy
  Msg-ID:  <199701270824.DAA01169@aatma.engin.umich.edu>
    Date:  Mon, 27 Jan 1997 03:24:25 -0500
   Files:  pod/perlsyn.pod
 
 
-----------------
-Version 5.003_23
-----------------
+------------------
+ Version 5.003_23
+------------------
 
 This release is our first candidate for a public beta test.
 
  CORE LANGUAGE CHANGES
 
   Title:  "Disallow changing $_[0] in __DIE__ handlers"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pod/perlfunc.pod util.c
 
   Title:  "Fix overloading with inheritance and AUTOLOAD"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199701202226.RAA05072@monk.mps.ohio-state.edu>
    Date:  Mon, 20 Jan 1997 17:26:32 -0500 (EST)
   Files:  gv.c lib/diagnostics.pm lib/overload.pm pod/perldebug.pod
@@ -2166,21 +2481,21 @@ This release is our first candidate for a public beta test.
   Files:  toke.c
 
   Title:  "Revert $^X to old behavior (plus HP-UX bug fix)"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  hints/hpux.sh toke.c
 
   Title:  "Protect against '0' in 'stmt while <HANDLE>'"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  op.c
 
   Title:  "Don't warn when closure uses var at file scope"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  op.c
 
  CORE PORTABILITY
 
   Title:  "VMS patches for _22"
-   From:  Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+   From:  Charles Bailey
  Msg-ID:  <01IEGBJ2TMYS003PCL@hmivax.humgen.upenn.edu>
    Date:  Mon, 20 Jan 1997 22:50:21 -0500 (EST)
   Files:  ext/POSIX/POSIX.xs lib/ExtUtils/MM_VMS.pm lib/ExtUtils/xsubpp
@@ -2189,7 +2504,7 @@ This release is our first candidate for a public beta test.
           vms/Makefile vms/config.vms vms/descrip.mms vms/perly_c.vms
 
   Title:  "Re: Perl 5.003_21: OS/2 patches"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199701170446.XAA28939@monk.mps.ohio-state.edu>
    Date:  Thu, 16 Jan 1997 23:46:40 -0500 (EST)
   Files:  os2/Changes os2/os2.c
@@ -2199,7 +2514,7 @@ This release is our first candidate for a public beta test.
   Files:  plan9/config.plan9 plan9/mkfile
 
   Title:  "Bugfixes for AmigaOS"
-   From:  "Norbert Pueschel" <pueschel@imsdd.meb.uni-bonn.de>
+   From:  Norbert Pueschel
  Msg-ID:  <77724691@Armageddon.meb.uni-bonn.de>
    Date:  Wed, 22 Jan 1997 00:13:54 +0100
   Files:  hints/amigaos.sh lib/File/Basename.pm
@@ -2211,7 +2526,7 @@ This release is our first candidate for a public beta test.
   Files:  hints/dec_osf.sh
 
   Title:  "on NeXT: gdbm problem fixed"
-   From:  Andreas Koenig <k@anna.in-berlin.de>
+   From:  Andreas Koenig
  Msg-ID:  <199701210201.DAA17794@anna.in-berlin.de>
    Date:  Tue, 21 Jan 1997 03:01:32 +0100
   Files:  hints/next_3.sh hints/next_3_0.sh
@@ -2237,49 +2552,49 @@ This release is our first candidate for a public beta test.
  OTHER CORE CHANGES
 
   Title:  "Make PERL5LIB and -I work like C<use lib>"
-   From:  Tim Bunce <Tim.Bunce@ig.co.uk>
+   From:  Tim Bunce
  Msg-ID:  <9701231523.AA26613@toad.ig.co.uk>
    Date:  Thu, 23 Jan 1997 15:23:27 +0000
   Files:  lib/lib.pm perl.c
 
   Title:  "Fix /\G.a/"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  regcomp.c regcomp.h regexec.c regexp.h toke.c
 
   Title:  "Extend stack in pp_undef (!)"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp.c
 
   Title:  "Allow for sub to be redefined while executing"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  cop.h pp_hot.c t/op/misc.t
 
   Title:  "Eliminate redundant flag CVf_FORMAT"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  cv.h op.c perl.c perly.c perly.y proto.h sv.c toke.c
 
   Title:  "Generate IVs when possible in abs() and int()"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp.c
 
   Title:  "Efficiency patchlet for pp_aassign()"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199701210305.WAA05451@monk.mps.ohio-state.edu>
    Date:  Mon, 20 Jan 1997 22:05:39 -0500 (EST)
   Files:  pp_hot.c
 
   Title:  "When sorting, promote to PVNV only for built-in comparison"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp_ctl.c
 
   Title:  "Remove "suidperl security patch" message"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  perl.c
 
  BUILD PROCESS
 
   Title:  "Make configure.gnu a copy of configure; make configure writea
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  MANIFEST configure.gnu
 
   Title:  "Regen Configure with metaconfig: +ARCHNAME, -FILE_filbuf"
@@ -2289,23 +2604,23 @@ This release is our first candidate for a public beta test.
           utils/perlbug.PL vms/config.vms vms/fndvers.com
 
   Title:  "Compile with optimization when testing memory functions"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  Configure
 
   Title:  "Minor patch for Debian installation"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  installperl
 
  LIBRARY AND EXTENSIONS
 
   Title:  "Debugger update"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199701190455.XAA02579@monk.mps.ohio-state.edu>
    Date:  Sat, 18 Jan 1997 23:54:59 -0500 (EST)
   Files:  lib/perl5db.pl
 
   Title:  "DynaLoader enhancement: support RTLD_GLOBAL"
-   From:  Nick Ing-Simmons <nik@tiuk.ti.com>
+   From:  Nick Ing-Simmons
  Msg-ID:  <199701240937.JAA11443@pluto.tiuk.ti.com>
    Date:  Fri, 24 Jan 1997 09:37:18 GMT
   Files:  ext/DynaLoader/DynaLoader.pm ext/DynaLoader/dl_aix.xs
@@ -2320,21 +2635,21 @@ This release is our first candidate for a public beta test.
   Files:  ext/Fcntl/Fcntl.pm ext/Fcntl/Fcntl.xs
 
   Title:  "Refresh IO to 1.15 (plus DESTROY and new_tmpfile fixes)"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  ext/IO/lib/IO/File.pm ext/IO/lib/IO/Handle.pm
           ext/IO/lib/IO/Pipe.pm ext/IO/lib/IO/Seekable.pm
           ext/IO/lib/IO/Socket.pm t/lib/io_pipe.t
 
   Title:  "Allow IO.xs to remain at 1.15 while $VERSION is 1.1501"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  XSUB.h ext/IO/Makefile.PL ext/IO/lib/IO/Handle.pm
 
   Title:  "Refresh CPAN to 1.15"
-   From:  Andreas Koenig <a.koenig@mind.de>
+   From:  Andreas Koenig
   Files:  lib/CPAN.pm lib/CPAN/FirstTime.pm
 
   Title:  "Add E* and SA_* constants"
-   From:  Roderick Schertler <roderick@gate.net>
+   From:  Roderick Schertler
  Msg-ID:  <23338.853986967@eeyore.ibcinc.com>
    Date:  Wed, 22 Jan 1997 21:36:07 -0500
   Files:  ext/POSIX/POSIX.pm ext/POSIX/POSIX.pod ext/POSIX/POSIX.xs
@@ -2348,18 +2663,18 @@ This release is our first candidate for a public beta test.
   Files:  t/base/lex.t
 
   Title:  "Fix tests of $^X and $0 to work with QNX"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  t/lib/io_pipe.t t/lib/open2.t t/lib/open3.t t/op/magic.t
 
   Title:  "Patch tests for systems without fork()"
-   From:  "Norbert Pueschel" <pueschel@imsdd.meb.uni-bonn.de>
+   From:  Norbert Pueschel
  Msg-ID:  <77724697@Armageddon.meb.uni-bonn.de>
    Date:  Thu, 23 Jan 1997 23:51:28 +0100
   Files:  t/io/pipe.t t/lib/filehand.t t/lib/io_pipe.t t/lib/io_sock.t
           t/lib/open2.t t/lib/open3.t t/op/fork.t
 
   Title:  "Test patches for OS/2"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199701170448.XAA28948@monk.mps.ohio-state.edu>
    Date:  Thu, 16 Jan 1997 23:48:18 -0500 (EST)
   Files:  os2/OS2/ExtAttr/t/os2_ea.t os2/OS2/PrfDB/t/os2_prfdb.t
@@ -2375,11 +2690,11 @@ This release is our first candidate for a public beta test.
  UTILITIES
 
   Title:  "Translate \200 to &#200; in pod2html"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pod/pod2html.PL
 
   Title:  "VMS patches: '.com' extension on scripts"
-   From:  Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+   From:  Charles Bailey
  Msg-ID:  <01IELNPDLYJM003E7J@hmivax.humgen.upenn.edu>
    Date:  Fri, 24 Jan 1997 18:42:29 -0500 (EST)
   Files:  pod/checkpods.PL pod/pod2html.PL pod/pod2latex.PL
@@ -2397,56 +2712,56 @@ This release is our first candidate for a public beta test.
  DOCUMENTATION
 
   Title:  "First cut at INSTALL edit"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  INSTALL
 
   Title:  "Additional docs for __DIE__ and __WARN__"
-   From:  Gurusamy Sarathy <gsar@engin.umich.edu>
+   From:  Gurusamy Sarathy
   Files:  pod/perlfunc.pod pod/perlrun.pod pod/perlvar.pod
 
   Title:  "Document #line directive"
-   From:  Gurusamy Sarathy <gsar@engin.umich.edu>
+   From:  Gurusamy Sarathy
  Msg-ID:  <199701240908.EAA23846@aatma.engin.umich.edu>
    Date:  Fri, 24 Jan 1997 04:08:44 -0500
   Files:  pod/perlsyn.pod pod/perltoc.pod
 
   Title:  "Perlguts version 30"
-   From:  Jeff Okamoto <okamoto@hpcc123.corp.hp.com>
+   From:  Jeff Okamoto
  Msg-ID:  <199701172117.AA116515863@hpcc123.corp.hp.com>
    Date:  Fri, 17 Jan 1997 13:17:43 -0800
   Files:  pod/perlguts.pod
 
   Title:  "delta for perldelta"
-   From:  Tom Christiansen <tchrist@mox.perl.com>
+   From:  Tom Christiansen
  Msg-ID:  <804.854121463@jinete>
    Date:  Fri, 24 Jan 1997 07:57:43 -0800
   Files:  pod/perlnews.pod pod/perltoc.pod
 
   Title:  "Updates to perldelta"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199701211610.LAA06227@monk.mps.ohio-state.edu>
    Date:  Mon, 20 Jan 1997 06:48:49 -0500 (EST)
   Files:  pod/perlnews.pod pod/perltoc.pod
 
   Title:  "perlnews.pod diff for the Fcntl"
-   From:  Jarkko Hietaniemi <jhi@cc.hut.fi>
+   From:  Jarkko Hietaniemi
  Msg-ID:  <199701211600.SAA30117@alpha.hut.fi>
    Date:  Tue, 21 Jan 1997 18:00:56 +0200 (EET)
   Files:  pod/perlnews.pod
 
   Title:  "Rename perlnews -> perldelta per Tom's request"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  MANIFEST pod/Makefile pod/buildtoc pod/perl.pod
           pod/perldelta.pod pod/perltoc.pod pod/roffitall
 
   Title:  "Remove bad advice from perllocale.pod"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pod/perllocale.pod
 
 
-----------------
-Version 5.003_22
-----------------
+------------------
+ Version 5.003_22
+------------------
 
 This release is primarily made up of bug fixes, the foremost among
 which repairs a showstopper memory corruption bug in formats.
@@ -2454,43 +2769,43 @@ which repairs a showstopper memory corruption bug in formats.
  CORE LANGUAGE CHANGES
 
   Title:  "Fix parsing of C< ${ xyz } >"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  toke.c
 
   Title:  "Don't parse method calls in strings"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  toke.c
 
   Title:  "Fix overly picky carping about leading '{' in regex"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  regcomp.c
 
  OTHER CORE CHANGES
 
   Title:  "Fix memory corruption from formats"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  op.c perl.c perly.c perly.c.diff perly.y proto.h sv.c toke.c
 
  BUILD PROCESS
 
   Title:  "Fix '_mopop' typo"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  Makefile.SH
 
  LIBRARY AND EXTENSIONS
 
   Title:  "Gut IO::Handle::DESTROY"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  ext/IO/lib/IO/Handle.pm
 
   Title:  "RiscOS is case-insensitive"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  lib/File/Basename.pm
 
  TESTS
 
   Title:  "Fix thinko in db-recno.t"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  t/lib/db-recno.t
 
  UTILITIES
@@ -2508,7 +2823,7 @@ which repairs a showstopper memory corruption bug in formats.
   Files:  INSTALL pod/roffitall
 
   Title:  "srand() doc update"
-   From:  Roderick Schertler <roderick@gate.net>
+   From:  Roderick Schertler
  Msg-ID:  <24195.853379065@eeyore.ibcinc.com>
    Date:  Wed, 15 Jan 1997 20:44:25 -0500
   Files:  pod/perlfunc.pod
@@ -2520,9 +2835,9 @@ which repairs a showstopper memory corruption bug in formats.
   Files:  configpm
 
 
-----------------
-Version 5.003_21
-----------------
+------------------
+ Version 5.003_21
+------------------
 
 This release includes several important bug fixes, and a couple of
 minor but valuable language tweaks.  Please read on for a list of the
@@ -2531,27 +2846,27 @@ significant changes:
  CORE LANGUAGE CHANGES
 
   Title:  "Fix overloading via inherited autoloaded functions"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199701131022.FAA22830@monk.mps.ohio-state.edu>
    Date:  Mon, 13 Jan 1997 05:22:47 -0500 (EST)
   Files:  gv.c lib/overload.pm pod/perldiag.pod t/pragma/overload.t
 
   Title:  "Method call fixes: Don't cache in alias, don't skip undef"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  global.sym gv.c gv.h hv.c op.c pod/perlguts.pod
           pod/perltoc.pod pp.c pp_ctl.c pp_hot.c proto.h scope.c sv.c
           t/op/method.t
 
   Title:  "Formats can be closures"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  cv.h op.c perly.c perly.c.diff perly.y pp_sys.c sv.h
 
   Title:  "Quote 'foo' in C<$x{-foo}>"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  toke.c
 
   Title:  "Forbid C< x->{y} > and C< x->[0] > under C<strict refs>"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  op.c pod/perldiag.pod t/pragma/strict-refs
 
   Title:  "Allow <=> to return undef when operands are not ordered"
@@ -2559,19 +2874,19 @@ significant changes:
   Files:  MANIFEST pp.c t/op/cmp.t
 
   Title:  "Fail regex that starts with '{'"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  regcomp.c
 
  CORE PORTABILITY
 
   Title:  "Re: Perl 5.003_20: OS/2 patches"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199701101102.GAA19051@monk.mps.ohio-state.edu>
    Date:  Fri, 10 Jan 1997 06:02:16 -0500 (EST)
   Files:  hints/os2.sh os2/Changes os2/os2.c os2/os2ish.h pp_sys.c
 
   Title:  "VMS patches for _20"
-   From:  Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+   From:  Charles Bailey
  Msg-ID:  <01IE7MGK7ULQ003K5M@hmivax.humgen.upenn.edu>
    Date:  Tue, 14 Jan 1997 17:34:43 -0500 (EST)
   Files:  configpm dosish.h os2/os2ish.h plan9/plan9ish.h proto.h
@@ -2593,21 +2908,21 @@ significant changes:
   Files:  Configure hints/machten.sh
 
   Title:  "Rename aux.sh to aux_3.sh for MS-LOSS"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  MANIFEST hints/aux_3.sh
 
  OTHER CORE CHANGES
 
   Title:  "Fix C< eval { my $x; eval '$x' } >"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  op.c t/op/misc.t
 
   Title:  "Don't warn if eval '' uses outer func's lexicals"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  op.c
 
   Title:  "Avoid memory wastage in wait(); make pidstatus global"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  global.sym interp.sym perl.c perl.h pp_sys.c
 
   Title:  "Forbid ++ and -- on readonly values"
@@ -2617,39 +2932,39 @@ significant changes:
   Files:  pp.c pp_hot.c
 
   Title:  "Keep array from dying during foreach(@array)"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  cop.h pp_ctl.c
 
   Title:  "Fix C< $a="simple"; split /($a)/o >"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp.c t/op/misc.t
 
   Title:  "Fix infinite loop for undef function in @SIG{__WARN__,__DIE__}"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  util.c
 
   Title:  "Fix for anon-lists with tied entries coredump"
-   From:  Gurusamy Sarathy <gsar@engin.umich.edu>
+   From:  Gurusamy Sarathy
  Msg-ID:  <199701100745.CAA13057@aatma.engin.umich.edu>
    Date:  Fri, 10 Jan 1997 02:45:11 -0500
   Files:  pp.c
 
   Title:  "Don't set SVf_PADBUSY on immortal SVs"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  op.c
 
   Title:  "Patch for Object subroutines"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199701080156.UAA15366@monk.mps.ohio-state.edu>
    Date:  Tue, 7 Jan 1997 20:56:02 -0500 (EST)
   Files:  cop.h
 
   Title:  "Use an SVt_PVLV to hold stacked OP pointers when debugging"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp.c pp_hot.c
 
   Title:  "Undo change that freed large pad vars"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  scope.c
 
  BUILD PROCESS
@@ -2667,7 +2982,7 @@ significant changes:
   Files:  Configure
 
   Title:  "Make installperl quieter; only shared libraries need 0555"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  installperl
 
  TESTS
@@ -2679,15 +2994,15 @@ significant changes:
   Files:  t/TEST
 
   Title:  "UNIVERSAL tests"
-   From:  Roderick Schertler <roderick@gate.net>
+   From:  Roderick Schertler
   Files:  MANIFEST t/op/universal.t
 
   Title:  "Test deletion of array during foreach"
-   From:  Jarkko Hietaniemi <jhi@alpha.hut.fi>
+   From:  Jarkko Hietaniemi
   Files:  t/op/misc.t
 
   Title:  "patch for db-recno.t"
-   From:  pmarquess@bfsec.bt.co.uk (Paul Marquess)
+   From:  Paul Marquess
  Msg-ID:  <9701121509.AA11147@claudius.bfsec.bt.co.uk>
    Date:  Sun, 12 Jan 1997 15:09:33 +0000 (GMT)
   Files:  t/lib/db-recno.t
@@ -2695,7 +3010,7 @@ significant changes:
  LIBRARY AND EXTENSIONS
 
   Title:  "Localize info about filesystems being case-forgiving"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  lib/File/Basename.pm pod/checkpods.PL pod/pod2html.PL
           pod/pod2latex.PL pod/pod2man.PL pod/pod2text.PL
           utils/c2ph.PL utils/h2ph.PL utils/h2xs.PL utils/perlbug.PL
@@ -2711,39 +3026,39 @@ significant changes:
   Files:  lib/Getopt/Long.pm
 
   Title:  "Refresh DB_File to 1.10"
-   From:  pmarquess@bfsec.bt.co.uk (Paul Marquess)
+   From:  Paul Marquess
  Msg-ID:  <9701141247.AA21242@claudius.bfsec.bt.co.uk>
    Date:  Tue, 14 Jan 97 12:47:40 GMT
   Files:  ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs
 
   Title:  "Re: FileCache::cacheout clobbers $_"
-   From:  Roderick Schertler <roderick@gate.net>
+   From:  Roderick Schertler
  Msg-ID:  <pz3ewb3189.fsf@eeyore.ibcinc.com>
    Date:  08 Jan 1997 23:45:58 -0500
   Files:  lib/FileCache.pm lib/cacheout.pl
 
   Title:  "PATCH: AutoSplit"
-   From:  Graham Barr <bodg@tiuk.ti.com>
+   From:  Graham Barr
  Msg-ID:  <9603111010.AA29935@tiuk.ti.com>
    Date:  11 Mar 1996 06:01:58 -0500
   Files:  lib/AutoSplit.pm
 
   Title:  "Re: Uninitialized value in Carp.pm ? "
-   From:  Gurusamy Sarathy <gsar@engin.umich.edu>
+   From:  Gurusamy Sarathy
  Msg-ID:  <199701141815.NAA07960@aatma.engin.umich.edu>
    Date:  Tue, 14 Jan 1997 13:15:25 -0500
   Files:  lib/Carp.pm
 
   Title:  "Avoid "uninitialized" warnings from POSIX::constant()"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  ext/POSIX/POSIX.pm
 
   Title:  "Eliminate warning from C<use overload>"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  lib/overload.pm
 
   Title:  "low priority patches"
-   From:  pmarquess@bfsec.bt.co.uk (Paul Marquess)
+   From:  Paul Marquess
  Msg-ID:  <9701081655.AA27349@claudius.bfsec.bt.co.uk>
    Date:  Wed, 8 Jan 97 16:55:02 GMT
   Files:  lib/Cwd.pm t/comp/redef.t t/lib/db-btree.t
@@ -2751,13 +3066,13 @@ significant changes:
  UTILITIES
 
   Title:  "Re: xsubpp and Tk ==> segfault"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199701080825.DAA15813@monk.mps.ohio-state.edu>
    Date:  Wed, 8 Jan 1997 03:25:47 -0500 (EST)
   Files:  lib/ExtUtils/xsubpp
 
   Title:  "Re: MakeMaker and 'make uninstall'"
-   From:  Andreas Koenig <k@anna.in-berlin.de>
+   From:  Andreas Koenig
  Msg-ID:  <199701101243.NAA26400@anna.in-berlin.de>
    Date:  Fri, 10 Jan 1997 13:43:39 +0100
   Files:  lib/ExtUtils/MM_Unix.pm
@@ -2769,13 +3084,13 @@ significant changes:
   Files:  utils/perldoc.PL
 
   Title:  "Yet another perldoc option"
-   From:  Gisle Aas <aas@aas.no>
+   From:  Gisle Aas
  Msg-ID:  <199610022200.AAA15334@furubotn.sn.no>
    Date:  Thu, 3 Oct 1996 00:00:35 +0200
   Files:  utils/perldoc.PL
 
   Title:  "Re: perldoc, temp files, async pagers"
-   From:  Roderick Schertler <roderick@gate.net>
+   From:  Roderick Schertler
  Msg-ID:  <pzwwtoom8p.fsf@eeyore.ibcinc.com>
    Date:  07 Jan 1997 22:54:14 -0500
   Files:  utils/perldoc.PL
@@ -2795,32 +3110,32 @@ significant changes:
   Files:  pod/perlsyn.pod
 
   Title:  "Document use of pos() and /\G/"
-   From:  Gurusamy Sarathy <gsar@engin.umich.edu>
+   From:  Gurusamy Sarathy
  Msg-ID:  <199701132013.PAA26606@aatma.engin.umich.edu>
    Date:  Mon, 13 Jan 1997 15:13:12 -0500
   Files:  pod/perlfunc.pod pod/perlnews.pod pod/perlop.pod
           pod/perlre.pod pod/perltoc.pod pod/perltrap.pod
 
   Title:  "Fix example #4 in perlXStut"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199701050739.CAA11112@monk.mps.ohio-state.edu>
    Date:  Sun, 5 Jan 1997 02:39:45 -0500 (EST)
   Files:  pod/perlxstut.pod
 
   Title:  "Document new closure warnings"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  op.c pod/perldiag.pod
 
   Title:  "Misc. doc patches missing in _20"
-   From:  Roderick Schertler <roderick@gate.net>
+   From:  Roderick Schertler
  Msg-ID:  <102.852695733@eeyore.ibcinc.com>
    Date:  Tue, 07 Jan 1997 22:55:33 -0500
   Files:  pod/perlsub.pod pod/perltoc.pod pod/perlvar.pod
 
 
-----------------
-Version 5.003_20
-----------------
+------------------
+ Version 5.003_20
+------------------
 
 The only language change in this release is the recension of support
 for named closures:  Now, no subroutine declared "sub foo {}" can be
@@ -2834,11 +3149,11 @@ updates, and expanded tests.  This is good stuff.  "I love you, man!"
  CORE LANGUAGE CHANGES
 
   Title:  "Rescind named closures"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  Makefile.SH op.c perly.c perly.c.diff perly.y pp_hot.c
 
   Title:  "Fix: empty @_ when calling empty-proto subs without parens"
-   From:  Graham Barr <bodg@tiuk.ti.com>
+   From:  Graham Barr
  Msg-ID:  <32CE30F0.7E8425A5@tiuk.ti.com>
    Date:  Sat, 04 Jan 1997 10:29:04 +0000
   Files:  perly.c perly.y
@@ -2846,23 +3161,23 @@ updates, and expanded tests.  This is good stuff.  "I love you, man!"
  CORE PORTABILITY
 
   Title:  "Fix $^X on systems that set it to Perl's basename"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  hints/hpux.sh toke.c
 
   Title:  "Configure/perl5/Compartmented Mode Workstation (fwd)"
-   From:  Andy Dougherty <doughera@fractal.phys.lafayette.edu>
+   From:  Andy Dougherty
  Msg-ID:  <Pine.SOL.3.95.970106131505.1662C-100000@fractal.lafayette.ed
    Date:  Mon, 06 Jan 1997 13:15:38 -0500 (EST)
   Files:  Configure hints/dec_osf.sh
 
   Title:  "Remove obsolete file "dl_os2.xs"."
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
   Files:  MANIFEST
 
  OTHER CORE CHANGES
 
   Title:  "Fix C< sub foo (&@); sub bar (&); foo {}, bar {}, bar {} >"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  perly.c perly.c.diff perly.y
 
   Title:  "plug for safe/opcode leaks"
@@ -2872,11 +3187,11 @@ updates, and expanded tests.  This is good stuff.  "I love you, man!"
   Files:  op.c
 
   Title:  "Finish OP= warnings: none on ^="
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  doop.c pp.c t/op/assignwarn.t
 
   Title:  "Fix Dynaloader failures with DProf"
-   From:  Gurusamy Sarathy <gsar@engin.umich.edu>
+   From:  Gurusamy Sarathy
  Msg-ID:  <199701061718.MAA26909@aatma.engin.umich.edu>
    Date:  Mon, 06 Jan 1997 12:18:46 -0500
   Files:  pp_hot.c
@@ -2884,11 +3199,11 @@ updates, and expanded tests.  This is good stuff.  "I love you, man!"
  BUILD PROCESS
 
   Title:  "Make Configure default to the first domain in /etc/resolv.conf"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  Configure
 
   Title:  "Start all helper scripts with $startsh"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  Configure
 
   Title:  "Support libperl.so under FreeBSD"
@@ -2900,13 +3215,13 @@ updates, and expanded tests.  This is good stuff.  "I love you, man!"
  TESTS
 
   Title:  "New test: comp/proto.t"
-   From:  Graham Barr <bodg@tiuk.ti.com>
+   From:  Graham Barr
  Msg-ID:  <32D0C21F.3FB28D51@tiuk.ti.com>
    Date:  Mon, 06 Jan 1997 09:13:03 +0000
   Files:  MANIFEST t/comp/proto.t
 
   Title:  "More magic variable tests"
-   From:  Roderick Schertler <roderick@gate.net>
+   From:  Roderick Schertler
  Msg-ID:  <7043.852565192@eeyore.ibcinc.com>
    Date:  Mon, 06 Jan 1997 10:39:52 -0500
   Files:  t/harness t/op/magic.t
@@ -2920,13 +3235,13 @@ updates, and expanded tests.  This is good stuff.  "I love you, man!"
   Files:  lib/File/Basename.pm t/lib/basename.t
 
   Title:  "sigaction() problems"
-   From:  Roderick Schertler <roderick@gate.net>
+   From:  Roderick Schertler
  Msg-ID:  <12808.852583324@eeyore.ibcinc.com>
    Date:  Mon, 06 Jan 1997 15:42:04 -0500
   Files:  ext/POSIX/POSIX.pm ext/POSIX/POSIX.pod
 
   Title:  "Fix importation of FileHandle methods; fix POSIX docs"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  ext/POSIX/POSIX.pm ext/POSIX/POSIX.pod lib/FileHandle.pm
 
   Title:  "Patch: make hints files warn about db-recno failures"
@@ -2946,31 +3261,31 @@ updates, and expanded tests.  This is good stuff.  "I love you, man!"
  DOCUMENTATION
 
   Title:  "tiny doc patches"
-   From:  Roderick Schertler <roderick@gate.net>
+   From:  Roderick Schertler
  Msg-ID:  <23338.852394333@eeyore.ibcinc.com>
    Date:  Sat, 04 Jan 1997 11:12:13 -0500
   Files:  pod/perlapio.pod pod/perlnews.pod pod/perltoc.pod
 
   Title:  "doc patch for defined on perlfunc.pod"
-   From:  Roderick Schertler <roderick@gate.net>
+   From:  Roderick Schertler
  Msg-ID:  <pz91686ek1.fsf@eeyore.ibcinc.com>
    Date:  04 Jan 1997 21:28:30 -0500
   Files:  pod/perlfunc.pod
 
   Title:  "doc patch: perldsc"
-   From:  Roderick Schertler <roderick@gate.net>
+   From:  Roderick Schertler
  Msg-ID:  <pzafqo6eo9.fsf@eeyore.ibcinc.com>
    Date:  04 Jan 1997 21:25:58 -0500
   Files:  pod/perldsc.pod pod/perltoc.pod
 
   Title:  "Re: constant function inlining"
-   From:  Roderick Schertler <roderick@gate.net>
+   From:  Roderick Schertler
  Msg-ID:  <pzk9pp1b95.fsf@eeyore.ibcinc.com>
    Date:  07 Jan 1997 15:27:50 -0500
   Files:  pod/perldiag.pod pod/perlsub.pod
 
   Title:  "scalar caller doc fix"
-   From:  Roderick Schertler <roderick@gate.net>
+   From:  Roderick Schertler
  Msg-ID:  <18245.852608060@eeyore.ibcinc.com>
    Date:  Mon, 06 Jan 1997 22:34:20 -0500
   Files:  pod/perlfunc.pod
@@ -2982,13 +3297,13 @@ updates, and expanded tests.  This is good stuff.  "I love you, man!"
   Files:  pod/perlpod.pod
 
   Title:  "Misc perlfunc updates"
-   From:  Tom Christiansen <tchrist@mox.perl.com>
+   From:  Tom Christiansen
   Files:  pod/perlfunc.pod pod/perltoc.pod
 
 
-----------------
-Version 5.003_19
-----------------
+------------------
+ Version 5.003_19
+------------------
 
 Lots of internal cleanup in this patch, especially plugged memory
 leaks when embedded Perl interpreters shut down and restart.  The
@@ -3002,22 +3317,22 @@ Here's a list of the more significant changes...
  CORE LANGUAGE CHANGES
 
   Title:  "Make method cache invisible to user code"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  dump.c gv.c gv.h hv.c op.c perl.c pp_hot.c pp_sys.c sv.c
           toke.c
 
   Title:  "Never parse "{m,s,y,tr,q{,q,w,x}}:{,:}" as package or label"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  toke.c
 
  CORE PORTABILITY
 
   Title:  "Fix $^X under HP-UX"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  hints/hpux.sh toke.c
 
   Title:  "New hints/hpux.sh"
-   From:  Jeff Okamoto <okamoto@hpcc123.corp.hp.com>
+   From:  Jeff Okamoto
  Msg-ID:  <199612312309.AA283393772@hpcc123.corp.hp.com>
    Date:  Tue, 31 Dec 1996 15:09:32 -0800
   Files:  hints/hpux.sh
@@ -3025,25 +3340,25 @@ Here's a list of the more significant changes...
  OTHER CORE CHANGES
 
   Title:  "Fix segv when calling named closures"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp_hot.c
 
   Title:  "Finish rationalizing "undef value" warnings"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  doop.c pp.c sv.c t/op/assignwarn.t
 
   Title:  "Arrange for all "_<file" entries to be in %main::"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  gv.c lib/perl5db.pl
 
   Title:  "Introduce CVf_NODEBUG flag"
-   From:  Gurusamy Sarathy <gsar@engin.umich.edu>
+   From:  Gurusamy Sarathy
  Msg-ID:  <199701012042.PAA25994@aatma.engin.umich.edu>
    Date:  Wed, 01 Jan 1997 15:42:05 -0500
   Files:  cv.h pp_hot.c
 
   Title:  "Reword 'may be "0"' warning per Larry; fix its line number"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  op.c pod/perldiag.pod
 
   Title:  "5.003_18: perl_{con,des}truct fixes"
@@ -3053,17 +3368,17 @@ Here's a list of the more significant changes...
   Files:  perl.c perl.h pod/perlembed.pod pod/perltoc.pod t/op/sysio.t
 
   Title:  "Fix lost value from READLINE after TIEHANDLE"
-   From:  Gurusamy Sarathy <gsar@engin.umich.edu>
+   From:  Gurusamy Sarathy
   Files:  pp_hot.c sv.h
 
   Title:  "Free memory of large lexical variables when leaving scope"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  scope.c
 
  TESTS
 
   Title:  "Create t/pragma directory; populate with new and old"
-   From:  pmarquess@bfsec.bt.co.uk (Paul Marquess)
+   From:  Paul Marquess
   Files:  MANIFEST Makefile.SH t/TEST t/comp/use.t t/lib/locale.t
           t/op/overload.t t/op/use.t t/pragma/locale.t t/pragma/overload.t
           t/pragma/strict-refs t/pragma/strict-subs t/pragma/strict-vars
@@ -3077,7 +3392,7 @@ Here's a list of the more significant changes...
  LIBRARY AND EXTENSIONS
 
   Title:  "Make libs clean under '-w'"
-   From:  Jarkko Hietaniemi <jhi@cc.hut.fi>
+   From:  Jarkko Hietaniemi
   Files:  lib/AutoSplit.pm lib/Devel/SelfStubber.pm lib/Env.pm
           lib/Math/Complex.pm lib/Pod/Functions.pm lib/Search/Dict.pm
           lib/SelfLoader.pm lib/Term/Complete.pm lib/chat2.pl
@@ -3087,13 +3402,13 @@ Here's a list of the more significant changes...
  DOCUMENTATION
 
   Title:  "Perlguts, version 28"
-   From:  Jeff Okamoto <okamoto@hpcc123.corp.hp.com>
+   From:  Jeff Okamoto
  Msg-ID:  <199701032110.AA102535846@hpcc123.corp.hp.com>
    Date:  Fri, 3 Jan 1997 13:10:46 -0800
   Files:  pod/perlguts.pod
 
   Title:  "Re: perldelta, take 3"
-   From:  Tim Bunce <Tim.Bunce@ig.co.uk>
+   From:  Tim Bunce
  Msg-ID:  <9701031748.AA15335@toad.ig.co.uk>
    Date:  Fri, 3 Jan 1997 17:48:46 +0000
   Files:  pod/perlnews.pod
@@ -3104,93 +3419,93 @@ Here's a list of the more significant changes...
           pod/perlguts.pod
 
   Title:  "expanded flock() docs"
-   From:  Roderick Schertler <roderick@gate.net>
+   From:  Roderick Schertler
  Msg-ID:  <4481.852337871@eeyore.ibcinc.com>
    Date:  Fri, 03 Jan 1997 19:31:11 -0500
   Files:  pod/perlfunc.pod
 
   Title:  "Use Text::Wrap in buildtoc; run buildtoc"
-   From:  Ulrich Pfeifer <pfeifer@charly.informatik.uni-dortmund.de>
+   From:  Ulrich Pfeifer
   Files:  pod/buildtoc pod/perltoc.pod
 
   Title:  "Remove obsolete perlovl.pod"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  MANIFEST plan9/mkfile pod/perlovl.pod vms/Makefile
           vms/descrip.mms
 
 
-----------------
-Version 5.003_18
-----------------
+------------------
+ Version 5.003_18
+------------------
 
 Yet further down the road to 5.004....
 
  CORE LANGUAGE CHANGES
 
   Title:  "Inherited overloading"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199612291312.IAA02134@monk.mps.ohio-state.edu>
    Date:  Sun, 29 Dec 1996 08:12:54 -0500 (EST)
   Files:  gv.c lib/overload.pm perl.h sv.c sv.h t/op/overload.t
 
   Title:  "Hide lexicals from C<use>d or C<require>d module (!)"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp_ctl.c
 
   Title:  "Closures at file scope must be anonymous"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  op.c
 
   Title:  "Warn on '{if,while} ($x = X)' where X is glob, readdir, or <FH>"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  op.c pod/perldiag.pod
 
   Title:  "Warn on 'undef $x; $x OP 1' where OP is *=, /=, %=, or **="
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp.c
 
  CORE PORTABILITY
 
   Title:  "Ultrix setlocale() workaround"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  hints/ultrix_4.sh util.c
 
  OTHER CORE CHANGES
 
   Title:  "Get rid of 'Leaked scalars'"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  cop.h gv.c op.c
 
   Title:  "Don't forget $c in C<(($a,$b,$c)=(1,2))=(3,4,5)>"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp_hot.c
 
   Title:  "Fix core dump on perl_construct()/perl_destruct() loop"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  perl.c
 
   Title:  "Add missing syms to global.sym; update magic doc"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  global.sym pod/perlguts.pod
 
  TESTS
 
   Title:  "Expanded locale.t and misc.t"
-   From:  Jarkko Hietaniemi <jhi@cc.hut.fi>
+   From:  Jarkko Hietaniemi
   Files:  t/lib/locale.t t/lib/misc.t
 
   Title:  "Expanded my.t"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  t/lib/my.t
 
   Title:  "test harness for C<use x.xxxx>"
-   From:  Graham Barr <bodg@tiuk.ti.com>
+   From:  Graham Barr
  Msg-ID:  <32C76882.3F3C7999@tiuk.ti.com>
    Date:  Mon, 30 Dec 1996 07:00:18 +0000
   Files:  MANIFEST t/op/use.t
 
   Title:  "More tests"
-   From:  Tom Phoenix <rootbeer@teleport.com>
+   From:  Tom Phoenix
  Msg-ID:  <Pine.GSO.3.95.961229170736.15213M-100000@solaris.teleport.co
    Date:  Sun, 29 Dec 1996 17:46:21 -0800 (PST)
   Files:  t/op/each.t t/op/oct.t t/op/quotemeta.t t/op/rand.t
@@ -3198,13 +3513,13 @@ Yet further down the road to 5.004....
  LIBRARY AND EXTENSIONS
 
   Title:  "Improving Config.pm"
-   From:  Tom Phoenix <rootbeer@teleport.com>
+   From:  Tom Phoenix
  Msg-ID:  <Pine.GSO.3.95.961230091244.13467L-100000@solaris.teleport.co
    Date:  Mon, 30 Dec 1996 09:24:16 -0800 (PST)
   Files:  configpm
 
   Title:  "File::Copy under OS/2"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199612280347.WAA00293@monk.mps.ohio-state.edu>
    Date:  Fri, 27 Dec 1996 22:47:24 -0500 (EST)
   Files:  lib/File/Copy.pm t/lib/filecopy.t
@@ -3223,15 +3538,15 @@ Yet further down the road to 5.004....
           pod/perlre.pod pod/perlsec.pod
 
   Title:  "Re: perldiag.pod entry for "Scalar value @%s{%s} ...""
-   From:  Roderick Schertler <roderick@gate.net>
+   From:  Roderick Schertler
  Msg-ID:  <2043.852051019@eeyore.ibcinc.com>
    Date:  Tue, 31 Dec 1996 11:50:19 -0500
   Files:  pod/perldiag.pod
 
 
-----------------
-Version 5.003_17
-----------------
+------------------
+ Version 5.003_17
+------------------
 
 The rate of patches is slowing down....  I see 5.004 at the end of the
 tunnel!  (Hey, what's that whistle?)
@@ -3239,7 +3554,7 @@ tunnel!  (Hey, what's that whistle?)
  CORE LANGUAGE CHANGES
 
   Title:  "Support named closures"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  cv.h op.c perl.c pp.c pp_ctl.c pp_hot.c
 
  CORE PORTABILITY
@@ -3255,7 +3570,7 @@ tunnel!  (Hey, what's that whistle?)
   Files:  hints/freebsd.sh
 
   Title:  "Minor OS/2 fixes"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199612252105.QAA11890@monk.mps.ohio-state.edu>
    Date:  Wed, 25 Dec 1996 16:05:42 -0500 (EST)
   Files:  os2/os2ish.h pod/perlxstut.pod
@@ -3263,11 +3578,11 @@ tunnel!  (Hey, what's that whistle?)
  OTHER CORE CHANGES
 
   Title:  "Fix {,un}tainting of $1 etc. when C<use locale>"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  mg.c sv.c
 
   Title:  "Limit effects of "=pod" to a single file"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  toke.c
 
  TESTS
@@ -3277,19 +3592,19 @@ tunnel!  (Hey, what's that whistle?)
   Files:  MANIFEST t/lib/locale.t t/op/method.t
 
   Title:  "Test C< ()=() >"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  t/op/misc.t
 
  LIBRARY AND EXTENSIONS
 
   Title:  "Refresh MakeMaker to 5.39"
-   From:  Andreas Koenig <k@anna.in-berlin.de>
+   From:  Andreas Koenig
   Files:  lib/ExtUtils/Install.pm lib/ExtUtils/Liblist.pm
           lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MakeMaker.pm
           lib/ExtUtils/Mksymlists.pm
 
   Title:  "Newer debugger"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199612261954.OAA12999@monk.mps.ohio-state.edu>
    Date:  Thu, 26 Dec 1996 14:54:34 -0500 (EST)
   Files:  lib/perl5db.pl
@@ -3297,27 +3612,27 @@ tunnel!  (Hey, what's that whistle?)
  DOCUMENTATION
 
   Title:  "Perlguts, version 27"
-   From:  Jeff Okamoto <okamoto@hpcc123.corp.hp.com>
+   From:  Jeff Okamoto
  Msg-ID:  <199612250144.AA059528263@hpcc123.corp.hp.com>
    Date:  Tue, 24 Dec 1996 17:44:23 -0800
   Files:  pod/perlguts.pod
 
   Title:  "perlpod.pod patch for _16"
-   From:  Kenneth Albanowski <kjahds@kjahds.com>
+   From:  Kenneth Albanowski
  Msg-ID:  <Pine.LNX.3.93.961224225906.337B-100000@kjahds.com>
    Date:  Tue, 24 Dec 1996 23:00:10 -0500 (EST)
   Files:  pod/perlpod.pod
 
   Title:  "tiny perllocale.pod diff for _16"
-   From:  Jarkko Hietaniemi <jhi@cc.hut.fi>
+   From:  Jarkko Hietaniemi
  Msg-ID:  <199612261306.PAA21161@alpha.hut.fi>
    Date:  Thu, 26 Dec 1996 15:06:04 +0200 (EET)
   Files:  pod/perllocale.pod
 
 
-----------------
-Version 5.003_16
-----------------
+------------------
+ Version 5.003_16
+------------------
 
 This patch is all bug fixes, library updates, and documentation
 updates.  We'll get to 5.004 RSN, I promise.  :-)
@@ -3325,7 +3640,7 @@ updates.  We'll get to 5.004 RSN, I promise.  :-)
  CORE LANGUAGE CHANGES
 
   Title:  "Fix closures that are not in subroutines"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  op.c
 
  CORE PORTABILITY
@@ -3339,25 +3654,25 @@ updates.  We'll get to 5.004 RSN, I promise.  :-)
  OTHER CORE CHANGES
 
   Title:  "Fix 'foreach(@ARGV) { while (<>) { push @p,$_ } }'"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  cop.h pp_hot.c scope.c
 
   Title:  "Eliminate warnings from C< undef $x; $x OP= "foo" >"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  doop.c pp.c pp.h pp_hot.c
 
   Title:  "Try again to improve method caching"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199612240113.UAA09487@monk.mps.ohio-state.edu>
    Date:  Mon, 23 Dec 1996 20:13:56 -0500 (EST)
   Files:  gv.c sv.c
 
   Title:  "Be more careful about 'o' magic memory management"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  mg.c sv.c
 
   Title:  "Fix bad pointer refs when localized object loses magic"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  scope.c
 
  LIBRARY AND EXTENSIONS
@@ -3382,7 +3697,7 @@ updates.  We'll get to 5.004 RSN, I promise.  :-)
  BUILD PROCESS AND UTILITIES
 
   Title:  "Don't recurse into subdirs twice on 'make realclean'"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  Makefile.SH
 
   Title:  "Use root EXTERN.h when compiling x2p/malloc.c."
@@ -3396,17 +3711,17 @@ updates.  We'll get to 5.004 RSN, I promise.  :-)
  DOCUMENTATION
 
   Title:  "Edit INSTALL to describe new binary compat setup"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  INSTALL
 
   Title:  "Update to perllocale.pod"
-   From:  Jarkko Hietaniemi <jhi@cc.hut.fi>
+   From:  Jarkko Hietaniemi
   Files:  pod/perllocale.pod
 
 
-----------------
-Version 5.003_15
-----------------
+------------------
+ Version 5.003_15
+------------------
 
 As soon as I posted 5.003_14, I found a fatal error in it.  :-(
 
@@ -3414,72 +3729,72 @@ This release is strictly a bug fix -- it removes some function caching
 changes that were supposed to be improvements, but weren't.
 
 
-----------------
-Version 5.003_14
-----------------
+------------------
+ Version 5.003_14
+------------------
 
 We seem to have achieved "release candidate" status.
 
  CORE LANGUAGE CHANGES
 
   Title:  "Eliminate support for {if,unless,while,until} BLOCK BLOCK"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  perly.c perly.c.diff perly.y toke.c
 
   Title:  "Taint $x after $x =~ s/pat/xyz/ if pat or xyz is tainted by locale"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  cop.h mg.c pp_ctl.c pp_hot.c
 
   Title:  "Complete support for modifying undefined array members in foreach"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  global.sym mg.c perl.h pp.c pp_hot.c proto.h sv.c
 
  OTHER CORE CHANGES
 
   Title:  "patch for regex bug: (x|x){n}"
-   From:  Gurusamy Sarathy <gsar@engin.umich.edu>
+   From:  Gurusamy Sarathy
  Msg-ID:  <199612210259.VAA10170@aatma.engin.umich.edu>
    Date:  Fri, 20 Dec 1996 21:59:22 -0500
   Files:  regexec.c
 
   Title:  "Bug in debugger with import manipulations"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199612231037.FAA08617@monk.mps.ohio-state.edu>
    Date:  Mon, 23 Dec 1996 05:37:48 -0500 (EST)
   Files:  pp_hot.c
 
   Title:  "Import and dynamic methods"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199612230645.BAA08378@monk.mps.ohio-state.edu>
    Date:  Mon, 23 Dec 1996 01:45:37 -0500 (EST)
   Files:  gv.c hv.c sv.c
 
   Title:  "malloc.c patch"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199612220748.CAA07164@monk.mps.ohio-state.edu>
    Date:  Sun, 22 Dec 1996 02:48:58 -0500 (EST)
   Files:  malloc.c
 
   Title:  "sv_gets patch"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199612220824.DAA07235@monk.mps.ohio-state.edu>
    Date:  Sun, 22 Dec 1996 03:24:04 -0500 (EST)
   Files:  pp_hot.c
 
   Title:  "pos $str patch"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199612220831.DAA07247@monk.mps.ohio-state.edu>
    Date:  Sun, 22 Dec 1996 03:31:21 -0500 (EST)
   Files:  mg.c pp_hot.c t/op/pat.t
 
   Title:  "Prevent warnings when STDCHAR is unsigned"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  perlio.c perlio.h
 
  PORTABILITY
 
   Title:  "Fix bugs in bincompat3 usage"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  perl.h perl_exp.SH
 
   Title:  "Support shared libperl on SunOS"
@@ -3487,7 +3802,7 @@ We seem to have achieved "release candidate" status.
   Files:  Makefile.SH
 
   Title:  "Configure on OS/2"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199612202325.SAA05505@monk.mps.ohio-state.edu>
    Date:  Fri, 20 Dec 1996 18:25:30 -0500 (EST)
   Files:  Configure
@@ -3499,11 +3814,11 @@ We seem to have achieved "release candidate" status.
   Files:  hints/isc.sh op.c pp_sys.c universal.c
 
   Title:  "Use "proto" instead of "_" in sdbm.h"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  ext/SDBM_File/sdbm/sdbm.h
 
   Title:  "VMS patches to 5.003_13"
-   From:  Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+   From:  Charles Bailey
  Msg-ID:  <01IDBYYFYPIS002ASE@hmivax.humgen.upenn.edu>
    Date:  Mon, 23 Dec 1996 01:26:47 -0500 (EST)
   Files:  deb.c ext/POSIX/POSIX.xs gv.c lib/File/Copy.pm mg.c perl.c
@@ -3516,11 +3831,11 @@ We seem to have achieved "release candidate" status.
  UTILITIES, LIBRARY, AND EXTENSIONS
 
   Title:  "Remove libnet"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  MANIFEST pod/perlmod.pod
 
   Title:  "Refresh CPAN module to 1.08"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  lib/CPAN.pm lib/CPAN/FirstTime.pm
 
   Title:  "Refresh ExtUtils::Manifest to version 1.28"
@@ -3528,15 +3843,15 @@ We seem to have achieved "release candidate" status.
   Files:  lib/ExtUtils/Manifest.pm
 
   Title:  "Update IO->VERSION() to 1.1201 for CPAN's sake"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  ext/IO/lib/IO/Handle.pm lib/IO/Handle.pm
 
   Title:  "Remodel File::Copy."
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  lib/File/Copy.pm
 
   Title:  "dumb bug in User::pwent.pm"
-   From:  Tom Christiansen <tchrist@mox.perl.com>
+   From:  Tom Christiansen
  Msg-ID:  <199612201145.EAA27860@mox.perl.com>
    Date:  Fri, 20 Dec 1996 04:45:37 -0700
   Files:  lib/User/pwent.pm
@@ -3544,7 +3859,7 @@ We seem to have achieved "release candidate" status.
  DOCUMENTATION
 
   Title:  "Better support for =for"
-   From:  Kenneth Albanowski <kjahds@kjahds.com>
+   From:  Kenneth Albanowski
  Msg-ID:  <Pine.LNX.3.93.961220163747.298T-100000@kjahds.com>
    Date:  Fri, 20 Dec 1996 16:43:35 -0500 (EST)
   Files:  lib/Pod/Text.pm pod/pod2latex.PL pod/pod2man.PL
@@ -3556,26 +3871,26 @@ We seem to have achieved "release candidate" status.
   Files:  pod/perllocale.pod
 
   Title:  "Perlguts, version 26"
-   From:  Jeff Okamoto <okamoto@hpcc123.corp.hp.com>
+   From:  Jeff Okamoto
  Msg-ID:  <199612201943.AA048111018@hpcc123.corp.hp.com>
    Date:  Fri, 20 Dec 1996 11:43:38 -0800
   Files:  pod/perlguts.pod
 
   Title:  "Update pod/Makefile; s/perli18n/perllocale/"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  ext/POSIX/POSIX.pod lib/I18N/Collate.pm pod/Makefile
           pod/perl.pod pod/perlmod.pod pod/perlnews.pod pod/roffitall
 
   Title:  "obstruct pod2man doc tweaks"
-   From:  Roderick Schertler <roderick@gate.net>
+   From:  Roderick Schertler
  Msg-ID:  <3923.851106237@eeyore.ibcinc.com>
    Date:  Fri, 20 Dec 1996 13:23:57 -0500
   Files:  lib/Class/Template.pm lib/Time/tm.pm
 
 
-----------------
-Version 5.003_13
-----------------
+------------------
+ Version 5.003_13
+------------------
 
 The watchword here is "synchronization."  There were a couple of
 show-stopper bugs in 5.003_12, so I'm issuing this patch to bring
@@ -3584,33 +3899,33 @@ everyone up to a common working base.
  CORE LANGUAGE CHANGES
 
   Title:  "Disallow labels named q, qq, qw, qx, s, y, and tr"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  toke.c
 
   Title:  "Make evals' lexicals visible to nested evals"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp_ctl.c
 
  OTHER CORE CHANGES
 
   Title:  "Fix core dump bug with anoncode"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  op.c
 
   Title:  "Allow DESTROY to make refs to dying objects"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  sv.c
 
  PORTABILITY
 
   Title:  "Add missing backslash in Configure"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  Configure
 
  UTILITIES, LIBRARY, AND EXTENSIONS
 
   Title:  "Include libnet-1.01 instead of old Net::FTP"
-   From:  Graham Barr <Graham.Barr@tiuk.ti.com>
+   From:  Graham Barr
   Files:  MANIFEST lib/Net/Cmd.pm lib/Net/Domain.pm
           lib/Net/DummyInetd.pm lib/Net/FTP.pm lib/Net/NNTP.pm
           lib/Net/Netrc.pm lib/Net/POP3.pm lib/Net/SMTP.pm
@@ -3622,7 +3937,7 @@ everyone up to a common working base.
   Files:  lib/Net/FTP.pm
 
   Title:  "Re: Open3.pm tries to close unopened file handle"
-   From:  Roderick Schertler <roderick@gate.net>
+   From:  Roderick Schertler
  Msg-ID:  <pzloavmd9h.fsf@eeyore.ibcinc.com>
    Date:  18 Dec 1996 22:19:54 -0500
   Files:  MANIFEST lib/IPC/Open2.pm lib/IPC/Open3.pm lib/open2.pl
@@ -3630,20 +3945,20 @@ everyone up to a common working base.
           t/lib/open3.t
 
   Title:  "Long-standing problem in Socket module"
-   From:  Spider Boardman <spider@orb.nashua.nh.us>
+   From:  Spider Boardman
  Msg-ID:  <199612190418.XAA07291@Orb.Nashua.NH.US>
    Date:  Wed, 18 Dec 1996 23:18:14 -0500
   Files:  Configure Porting/Glossary config_H config_h.SH
           ext/Socket/Socket.pm ext/Socket/Socket.xs
 
   Title:  "flock() constants"
-   From:  Roderick Schertler <roderick@gate.net>
+   From:  Roderick Schertler
  Msg-ID:  <26669.850977437@eeyore.ibcinc.com>
    Date:  Thu, 19 Dec 1996 01:37:17 -0500
   Files:  ext/Fcntl/Fcntl.pm ext/Fcntl/Fcntl.xs pod/perlfunc.pod
 
   Title:  "Re: find2perl . -xdev BROKEN still"
-   From:  Roderick Schertler <roderick@gate.net>
+   From:  Roderick Schertler
  Msg-ID:  <pzvi9yig3h.fsf@eeyore.ibcinc.com>
    Date:  19 Dec 1996 12:44:34 -0500
   Files:  lib/File/Find.pm lib/find.pl lib/finddepth.pl
@@ -3651,21 +3966,21 @@ everyone up to a common working base.
  DOCUMENTATION
 
   Title:  "small doc tweaks for _12"
-   From:  Roderick Schertler <roderick@gate.net>
+   From:  Roderick Schertler
  Msg-ID:  <1826.851011557@eeyore.ibcinc.com>
    Date:  Thu, 19 Dec 1996 11:05:57 -0500
   Files:  lib/UNIVERSAL.pm pod/perldiag.pod pod/perltie.pod
 
   Title:  "Re: missing E<> POD directive in perlpod.pod"
-   From:  Roderick Schertler <roderick@gate.net>
+   From:  Roderick Schertler
  Msg-ID:  <pzwwueimak.fsf@eeyore.ibcinc.com>
    Date:  19 Dec 1996 10:30:43 -0500
   Files:  pod/perlpod.pod pod/pod2html.PL
 
 
-----------------
-Version 5.003_12
-----------------
+------------------
+ Version 5.003_12
+------------------
 
 This patch is huge.  A multitude of bug fixes, new modules (especially
 CPAN and Net::FTP), a couple of new Configure variables, updated
@@ -3675,109 +3990,109 @@ the more significant changes in 5.003_12:
  CORE LANGUAGE CHANGES
 
   Title:  "Support C<delete @hash{@keys}>"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  op.c op.h opcode.pl pod/perldiag.pod pod/perlfunc.pod pp.c
           t/op/delete.t
 
   Title:  "Autovivify scalars"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  dump.c op.c op.h pp.c pp_hot.c
 
   Title:  "Allow any word, including keyword, as label"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  toke.c
 
  OTHER CORE CHANGES
 
   Title:  "Allow assignment to empty array values during foreach()"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  cop.h global.sym mg.c op.c perl.h pp_hot.c proto.h sv.c
 
   Title:  "Fix nested closures"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  op.c opcode.pl pp.c pp_ctl.c pp_hot.c
 
   Title:  "Fix core dump on auto-vivification"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp_hot.c
 
   Title:  "Fix core dump on C<open $undef_var, "X">"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp_sys.c
 
   Title:  "Fix -T/-B on globs and globrefs"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp_sys.c
 
   Title:  "Fix memory management of $`, $&, and $'"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp_hot.c regexec.c
 
   Title:  "Fix paren matching during backtracking"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  regexec.c
 
   Title:  "Fix memory leak and std{in,out,err} death in perl_{con,de}str
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  miniperlmain.c perl.c perl.h sv.c
 
   Title:  "Discard garbage bytes at end of prototype()"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp.c
 
   Title:  "Fix local($pack::{foo})"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  global.sym pp.c pp_hot.c proto.h scope.c
 
   Title:  "Fix for AmigaOS - inplace operation"
-   From:  "Norbert Pueschel" <pueschel@imsdd.meb.uni-bonn.de>
+   From:  Norbert Pueschel
  Msg-ID:  <77724601@Armageddon.meb.uni-bonn.de>
    Date:  Sun, 08 Dec 1996 15:33:00 +0100
   Files:  doio.c
 
   Title:  "Disable warn, die, and parse hooks _before_ global destruction
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  perl.c
 
   Title:  "Re: Bug in formline "
-   From:  Gurusamy Sarathy <gsar@engin.umich.edu>
+   From:  Gurusamy Sarathy
  Msg-ID:  <199612081958.OAA26025@aatma.engin.umich.edu>
    Date:  Sun, 08 Dec 1996 14:58:32 -0500
   Files:  pp_ctl.c
 
   Title:  "Fix C<@a = ($a,$b,$c,$d) = (1,2)>"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp_hot.c
 
   Title:  "Fix %ENV assignment when environment starts out empty"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  hv.c
 
   Title:  "Properly support and document newRV{,_inc,_noinc}"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  global.sym pod/perlguts.pod sv.c sv.h
 
   Title:  "Support SvREADONLY on arrays"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  av.c
 
   Title:  "Allow lvalue pos inside recursive function"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  op.c pp.c pp_ctl.c pp_hot.c
 
  PORTABILITY
 
   Title:  "Eliminate PerlIO warnings when setting cnt to -1"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  perlio.c
 
   Title:  "Make $privlib contents compatible with 5.003"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  INSTALL ext/Opcode/Safe.pm installperl lib/FileHandle.pm
           lib/Test/Harness.pm
 
   Title:  "Support $bincompat3 config variable; update metaconfig units"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  Configure MANIFEST compat3.sym config_h.SH embed.pl global.sym
           old_embed.pl old_global.sym old_perl_exp.SH perl_exp.SH
 
@@ -3788,11 +4103,11 @@ the more significant changes in 5.003_12:
   Files:  Configure config_H config_h.SH pp.c
 
   Title:  "Make $startperl a relative path if people want portable scrip
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  Configure
 
   Title:  "Homogenize use of "eval exec" hack"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  Porting/Glossary eg/README eg/nih eg/sysvipc/ipcmsg
           eg/sysvipc/ipcsem eg/sysvipc/ipcshm lib/diagnostics.pm
           makeaperl.SH pod/checkpods.PL pod/perlrun.pod
@@ -3808,7 +4123,7 @@ the more significant changes in 5.003_12:
   Files:  Configure MANIFEST hints/lynxos.sh t/op/stat.t
 
   Title:  "In Linux hints, set suidsafe=no and dosuid=yes"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  hints/linux.sh
 
   Title:  "5.003_11 on UnixWare 2.1.1 - Only one small UnixWare buglet"
@@ -3818,17 +4133,17 @@ the more significant changes in 5.003_12:
   Files:  hints/svr4.sh
 
   Title:  "Re: db-recno.t failures with _11 on Freebsd 2.1-stable"
-   From:  Roderick Schertler <roderick@gate.net>
+   From:  Roderick Schertler
  Msg-ID:  <pzohg0r5tr.fsf@eeyore.ibcinc.com>
    Date:  11 Dec 1996 18:58:56 -0500
   Files:  INSTALL hints/freebsd.sh
 
   Title:  "OS/2 updates from Ilya"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
   Files:  README.os2 os2/Changes os2/Makefile.SHs os2/os2.c os2/os2ish.h
 
   Title:  "VMS patches to 5.003_11"
-   From:  Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+   From:  Charles Bailey
  Msg-ID:  <01ICTR32LCZG001A1D@hmivax.humgen.upenn.edu>
    Date:  Mon, 09 Dec 1996 23:16:10 -0500 (EST)
   Files:  MANIFEST regexec.c t/lib/filehand.t util.c vms/*
@@ -3836,7 +4151,7 @@ the more significant changes in 5.003_12:
  TESTING
 
   Title:  "recurse recurse recurse ..."
-   From:  Jarkko Hietaniemi <jhi@cc.hut.fi>
+   From:  Jarkko Hietaniemi
  Msg-ID:  <199612092144.XAA29025@alpha.hut.fi>
    Date:  Mon, 9 Dec 1996 23:44:27 +0200 (EET)
   Files:  MANIFEST t/op/recurse.t
@@ -3844,7 +4159,7 @@ the more significant changes in 5.003_12:
  UTILITIES, LIBRARY, AND EXTENSIONS
 
   Title:  "Add CPAN and Net::FTP"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  MANIFEST lib/CPAN.pm lib/CPAN/FirstTime.pm lib/CPAN/Nox.pm
           lib/Net/FTP.pm lib/Net/Netrc.pm lib/Net/Socket.pm
           pod/perlmod.pod
@@ -3856,47 +4171,47 @@ the more significant changes in 5.003_12:
   Files:  lib/Text/Tabs.pm lib/Text/Wrap.pm
 
   Title:  "Add File::Compare"
-   From:  Nick Ing-Simmons <nik@tiuk.ti.com>
+   From:  Nick Ing-Simmons
  Msg-ID:  <199612161844.SAA02152@pluto>
    Date:  Mon, 16 Dec 1996 18:44:59 GMT
   Files:  MANIFEST lib/File/Compare.pm pod/perlmod.pod
 
   Title:  "Add Tie::RefHash"
-   From:  Gurusamy Sarathy <gsar@engin.umich.edu>
+   From:  Gurusamy Sarathy
  Msg-ID:  <199612152358.SAA28665@aatma.engin.umich.edu>
    Date:  Sun, 15 Dec 1996 18:58:08 -0500
   Files:  MANIFEST lib/Tie/RefHash.pm pod/perlmod.pod
 
   Title:  "Put "splain" in utils."
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  Makefile.SH installperl utils/Makefile utils/splain.PL
 
   Title:  "Some h2ph fixes"
-   From:  Jeff Okamoto <okamoto@hpcc123.corp.hp.com>
+   From:  Jeff Okamoto
  Msg-ID:  <199612131934.AA289845652@hpcc123.corp.hp.com>
    Date:  Fri, 13 Dec 1996 11:34:12 -0800
   Files:  utils/h2ph.PL
 
   Title:  "xsubpp patch to add #line"
-   From:  nick@ni-s.u-net.com (Nick Ing-Simmons)
+   From:  Nick Ing-Simmons
  Msg-ID:  <199612162153.VAA03590@ni-s.u-net.com>
    Date:  Mon, 16 Dec 1996 21:53:56 GMT
   Files:  lib/ExtUtils/xsubpp
 
   Title:  "Re: Proposed addition to File::Copy: move"
-   From:  Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+   From:  Charles Bailey
  Msg-ID:  <01ICZBN0LRC8001A1D@hmivax.humgen.upenn.edu>
    Date:  Sat, 14 Dec 1996 00:27:29 -0500 (EST)
   Files:  lib/File/Copy.pm t/lib/filecopy.t
 
   Title:  "DB_File 1.09 patch"
-   From:  pmarquess@bfsec.bt.co.uk (Paul Marquess)
+   From:  Paul Marquess
  Msg-ID:  <9612181037.AA10123@claudius.bfsec.bt.co.uk>
    Date:  Wed, 18 Dec 96 10:37:58 GMT
   Files:  ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs
 
   Title:  "Debugger update"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199612111038.FAA24363@monk.mps.ohio-state.edu>
    Date:  Wed, 11 Dec 1996 05:38:28 -0500 (EST)
   Files:  lib/perl5db.pl
@@ -3909,13 +4224,13 @@ the more significant changes in 5.003_12:
           pod/perlnews.pod
 
   Title:  "perltoot.pod"
-   From:  Tom Christiansen <tchrist@mox.perl.com>
+   From:  Tom Christiansen
  Msg-ID:  <199612091444.HAA09947@toy.perl.com>
    Date:  Mon, 09 Dec 1996 07:44:10 -0700
   Files:  MANIFEST pod/perltoot.pod
 
   Title:  "Perlguts, version 25"
-   From:  Jeff Okamoto <okamoto@hpcc123.corp.hp.com>
+   From:  Jeff Okamoto
  Msg-ID:  <199612061940.AA055461228@hpcc123.corp.hp.com>
    Date:  Fri, 6 Dec 96 11:40:27 PST
   Files:  pod/perlguts.pod
@@ -3933,14 +4248,14 @@ the more significant changes in 5.003_12:
   Files:  pod/*.pod
 
   Title:  "Misc doc updates"
-   From:  Tom Christiansen <tchrist@mox.perl.com>
+   From:  Tom Christiansen
  Msg-ID:  <199612150156.SAA12506@mox.perl.com>
    Date:  Sat, 14 Dec 1996 18:56:33 -0700
   Files:  pod/*
 
-----------------
-Version 5.003_11
-----------------
+------------------
+ Version 5.003_11
+------------------
 
 This patch is (still) closing in on 5.004.  Nothing dramatic, lots of
 value.
@@ -3948,91 +4263,91 @@ value.
  CORE LANGUAGE CHANGES
 
   Title:  "Fix precedence problems with subs as uniops or listops"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  perly.c perly.c.diff perly.h perly.y
 
   Title:  "Don't reset $. on open()"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp_sys.c
 
   Title:  "Support *glob{IO} (eventually deprecate *glob{FILEHANDLE})"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pod/perlref.pod pp_hot.c sv.c
 
   Title:  "Don't let expression context force return context"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  op.c
 
   Title:  "Properly convert "1E2" et al to IV/UV"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  doio.c sv.c
 
   Title:  "Fix modulo operator in UV realm"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp.c
 
   Title:  "Fix stat(_) after stat(HANDLE)"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp_sys.c
 
   Title:  "Fix: s/// and "$x =~ $y" under 'use locale'"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  op.c toke.c
 
  OTHER CORE CHANGES
 
   Title:  "Eliminate spurious warning when splicing undefs"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp.c sv.h
 
   Title:  "Eliminate spurious warning from "x=" operator"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  op.c
 
   Title:  "Fix line numbers near control structures"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  op.c perly.c perly.c.diff perly.y proto.h
 
   Title:  "Don't let scalar unpack() underflow stack"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp.c
 
   Title:  "Fix core dump from precedence bug in "@foo" warning"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  toke.c
 
   Title:  "Move die() to utils.c; add varargs hack to croak()"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp_ctl.c util.c
 
   Title:  "Avoid memcmp() for magnitude test if it thinks char is signed"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  Configure config_H config_h.SH doop.c
           ext/SDBM_File/sdbm/pair.c ext/SDBM_File/sdbm/sdbm.h handy.h
           hv.c perl.h pp_hot.c proto.h regexec.c sv.c toke.c util.c
 
   Title:  "Less malloc in magic"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  mg.c
 
   Title:  "Re: 5.003_09: PADTMP fix"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199611281150.GAA06884@monk.mps.ohio-state.edu>
    Date:  Thu, 28 Nov 1996 06:50:58 -0500 (EST)
   Files:  pod/perlguts.pod
 
   Title:  "Fully paramaterize locales; disable all if NO_LOCALE"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  ext/POSIX/POSIX.xs op.c perl.h pp.c pp_sys.c sv.c util.c
 
  PORTABILITY AND TESTING
 
   Title:  "Bitwise op fix for Alpha"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp.c
 
   Title:  "hints/dgux.sh update"
-   From:  Roderick Schertler <roderick@gate.net>
+   From:  Roderick Schertler
  Msg-ID:  <24178.849309616@eeyore.ibcinc.com>
    Date:  Fri, 29 Nov 1996 18:20:16 -0500
   Files:  hints/dgux.sh
@@ -4044,7 +4359,7 @@ value.
   Files:  hints/hpux.sh
 
   Title:  "VMS patches for 5.003_10"
-   From:  Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+   From:  Charles Bailey
  Msg-ID:  <01ICMALO8NMS001A1D@hmivax.humgen.upenn.edu>
    Date:  Wed, 04 Dec 1996 16:40:12 -0500 (EST)
   Files:  EXTERN.h INTERN.h old_perl_exp.SH perl.c perl.h perl_exp.SH
@@ -4053,7 +4368,7 @@ value.
           vms/gen_shrfls.pl vms/genconfig.pl vms/vmsish.h
 
   Title:  "_10+ under OS/2"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199612011107.GAA10805@monk.mps.ohio-state.edu>
    Date:  Sun, 1 Dec 1996 06:07:19 -0500 (EST)
   Files:  malloc.c os2/diff.configure
@@ -4061,7 +4376,7 @@ value.
  LIBRARY AND EXTENSIONS
 
   Title:  "{in,ob}structive pods"
-   From:  Tom Christiansen <tchrist@mox.perl.com>
+   From:  Tom Christiansen
  Msg-ID:  <199611301652.JAA24201@toy.perl.com>
    Date:  Sat, 30 Nov 1996 09:52:57 -0700
   Files:  MANIFEST lib/Class/Template.pm lib/File/stat.pm
@@ -4070,44 +4385,44 @@ value.
           lib/Time/tm.pm lib/User/grent.pm lib/User/pwent.pm
 
   Title:  "FileHandle that 'ISA' IO::File"
-   From:  Nick Ing-Simmons <nik@tiuk.ti.com>
+   From:  Nick Ing-Simmons
  Msg-ID:  <199612021718.RAA04416@pluto>
    Date:  Mon, 2 Dec 1996 17:18:02 GMT
   Files:  MANIFEST lib/FileHandle.pm
 
   Title:  "Make IO::File::import use its parameters"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  ext/IO/lib/IO/File.pm
 
   Title:  "10+ debugger patch"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199612011137.GAA10864@monk.mps.ohio-state.edu>
    Date:  Sun, 1 Dec 1996 06:37:31 -0500 (EST)
   Files:  lib/perl5db.pl perl.c pod/perldebug.pod
 
   Title:  "Don't call CORE::close in file handle DESTROY method"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  ext/IO/lib/IO/Handle.pm
 
   Title:  "Re: Namespace cleanup: Does SDBM need binary compatibility?"
-   From:  Hallvard B Furuseth <h.b.furuseth@usit.uio.no>
+   From:  Hallvard B Furuseth
  Msg-ID:  <199612031445.PAA19056@bombur2.uio.no>
    Date:  Tue, 3 Dec 1996 15:45:27 +0100 (MET)
   Files:  ext/SDBM_File/sdbm/pair.h ext/SDBM_File/sdbm/sdbm.3
 
   Title:  "DB_File 1.07"
-   From:  pmarquess@bfsec.bt.co.uk (Paul Marquess)
+   From:  Paul Marquess
   Files:  ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs t/lib/db-btree.t
           t/lib/db-recno.t
 
   Title:  "DB_File 1.08"
-   From:  pmarquess@bfsec.bt.co.uk (Paul Marquess)
+   From:  Paul Marquess
   Files:  ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs
 
 
-----------------
-Version 5.003_10
-----------------
+------------------
+ Version 5.003_10
+------------------
 
 This patch is closing in on 5.004.  It contains lots of small and
 valuable changes, but nothing dramatic.
@@ -4115,7 +4430,7 @@ valuable changes, but nothing dramatic.
  CORE LANGUAGE CHANGES
 
   Title:  "Allow &{sub {...}} without warning"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  toke.c
 
   Title:  "Make parens optional on [gs]ethost and [gs]et{pw,gr} functions
@@ -4123,25 +4438,25 @@ valuable changes, but nothing dramatic.
   Files:  toke.c
 
   Title:  "Fix syntax error with "$x [0]" and "$x {y}" and "@x {y}""
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  toke.c
 
  OTHER CORE CHANGES
 
   Title:  "Fix regex matching of chars with high bit set"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  regexec.c
 
   Title:  "Hash key memory corruption fix and naming cleanup"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  hv.c hv.h perl.h
 
   Title:  "Undo broken perf. patch (PADTMP stealing)"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  sv.c
 
   Title:  "Make SV unstudied in sv_gets()"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  sv.c
 
   Title:  "Better support for UVs"
@@ -4151,51 +4466,51 @@ valuable changes, but nothing dramatic.
   Title:  "Minor locale cleanups"
           (Accept "POSIX" locale as standard like "C". Reset locale to
           'C' when testing strtod() in t/lib/posix.t.)
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  t/lib/posix.t util.c
 
   Title:  "Always taint result of sprintf() on float"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  doop.c
 
   Title:  "Fix spurious warning from bitwise string ops"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  doop.c
 
   Title:  "Eliminate warning on {,sys}read(,$newvar,)"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  doop.c pp_sys.c
 
   Title:  "Don't call fcntl(fileno(rsfp)) if !rsfp"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  perl.c
 
   Title:  "Save message when calling __DIE__ hook"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp_ctl.c
 
   Title:  "Namespace cleanup"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  global.sym old_global.sym perl.h
 
   Title:  "Modify perl_exp.SH; create old_perl_exp.SH; document old_*"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  Configure INSTALL MANIFEST old_perl_exp.SH perl_exp.SH
 
  PORTABILITY
 
   Title:  "Reliable signal patch"
-   From:  Kenneth Albanowski <kjahds@kjahds.com>
+   From:  Kenneth Albanowski
  Msg-ID:  <Pine.LNX.3.93.961126053209.294J-100000@kjahds.com>
    Date:  Tue, 26 Nov 1996 05:40:50 -0500 (EST)
   Files:  global.sym mg.c old_global.sym perl.h pp_sys.c proto.h util.c
 
   Title:  "Emulate missing flock() with either fcntl() or lockf()"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp_sys.c
 
   Title:  "3_09: minor patches for OS/2"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199611270830.DAA04985@monk.mps.ohio-state.edu>
    Date:  Wed, 27 Nov 1996 03:30:05 -0500 (EST)
   Files:  doio.c global.sym malloc.c old_global.sym os2/Makefile.SHs
@@ -4211,7 +4526,7 @@ valuable changes, but nothing dramatic.
           t/TEST toke.c util.c x2p/proto.h
 
   Title:  "Re: updated patch on the sysread, syswrite for VMS"
-   From:  Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+   From:  Charles Bailey
  Msg-ID:  <01ICB648K2XG001A1D@hmivax.humgen.upenn.edu>
    Date:  Tue, 26 Nov 1996 17:28:23 -0500 (EST)
   Files:  t/op/sysio.t
@@ -4219,37 +4534,37 @@ valuable changes, but nothing dramatic.
  LIBRARY AND EXTENSIONS
 
   Title:  "Minor patch to debugger"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199611290533.AAA08053@monk.mps.ohio-state.edu>
    Date:  Fri, 29 Nov 1996 00:33:49 -0500 (EST)
   Files:  lib/perl5db.pl
 
   Title:  "AutoLoader::AUTOLOAD optimization"
-   From:  nick@ni-s.u-net.com (Nick Ing-Simmons)
+   From:  Nick Ing-Simmons
  Msg-ID:  <199611231954.TAA09921@ni-s.u-net.com>
    Date:  Sat, 23 Nov 1996 19:54:52 GMT
   Files:  lib/AutoLoader.pm
 
   Title:  "Diagnostic cleanup"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  lib/diagnostics.pm pod/perldiag.pod
 
  DOCUMENTATION
 
   Title:  "Improve documentation for sysread() and syswrite()"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pod/perlfunc.pod
 
   Title:  "Document how to use $SIG{ALRM} and alarm()"
-   From:  Roderick Schertler <roderick@ibcinc.com>
+   From:  Roderick Schertler
  Msg-ID:  <5898.849026569@eeyore.ibcinc.com>
    Date:  Tue, 26 Nov 1996 11:42:49 -0500
   Files:  pod/perlfunc.pod
 
 
-----------------
-Version 5.003_09
-----------------
+------------------
+ Version 5.003_09
+------------------
 
 This patch was a compendium of various fixes and enhancements from
 many people, including some serious improvement in lexical variable
@@ -4259,17 +4574,17 @@ scoping and locale handling.
 
   Title:  "Lexical locales"
           (make effectiveness of locales depend on C<use locale>)
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  too many to list
 
   Title:  "Lexical scoping cleanup"
           (tighten scoping of lexical variables, somewhat on the
           new constructs and somewhat on the old)
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  many... but mostly perly.y and toke.c
 
   Title:  "Re: memory corruption / security bug in sysread,syswrite + pa
-   From:  Jarkko Hietaniemi <jhi@cc.hut.fi>
+   From:  Jarkko Hietaniemi
  Msg-ID:  <199611251946.VAA30459@alpha.hut.fi>
    Date:  Mon, 25 Nov 1996 21:46:31 +0200 (EET)
   Files:  MANIFEST pod/perldiag.pod pod/perlfunc.pod pp_sys.c
@@ -4278,11 +4593,11 @@ scoping and locale handling.
  OTHER CORE CHANGES
 
   Title:  "Configure fix for handling DynaLoader"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  Configure
 
   Title:  "Properly prototype safe{malloc,calloc,realloc,free}."
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  proto.h
 
   Title:  "UnixWare 2.1 fix for perl5.003_08 - cope with fp->_cnt < -1,
@@ -4292,55 +4607,55 @@ scoping and locale handling.
   Files:  sv.c
 
   Title:  ""static" call to UNIVERSAL::can"
-   From:  Nick.Ing-Simmons@tiuk.ti.com
+   From:  Nick Ing-Simmons
  Msg-ID:  <199611211547.PAA15878@pluto>
    Date:  Thu, 21 Nov 1996 15:47:46 GMT
   Files:  universal.c
 
   Title:  "die -> croak"
-   From:  Gurusamy Sarathy <gsar@engin.umich.edu>
+   From:  Gurusamy Sarathy
  Msg-ID:  <199611212111.QAA17070@aatma.engin.umich.edu>
    Date:  Thu, 21 Nov 1996 16:11:21 -0500
   Files:  pp_ctl.c
 
   Title:  "Patch for embed.pl when !EMBED && !MULTIPLICITY"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  embed.pl
 
   Title:  "Add new symbols to old_global.sym, too."
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  global.sym old_global.sym
 
   Title:  "Cleanup of {,un}pack('w')."
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp.c
 
   Title:  "Cleanups from Ilya."
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  gv.c malloc.c pod/perlguts.pod pp_ctl.c
 
   Title:  "Fix for unpack('w') on 64-bit systems."
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp.c
 
   Title:  "Re: LC_NUMERIC support is ready + performance"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199611260308.WAA02677@monk.mps.ohio-state.edu>
    Date:  Mon, 25 Nov 1996 22:08:27 -0500 (EST)
   Files:  sv.c
 
   Title:  "Hash key sharing improvements from Ilya."
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  hv.c hv.h proto.h
 
   Title:  "Mortal stack pre-allocation from Ilya."
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp.c pp.h pp_ctl.c pp_hot.c pp_sys.c
 
  PORTABILITY
 
   Title:  "VMS patches post-5.003_08"
-   From:  bailey@hmivax.humgen.upenn.edu (Charles Bailey)
+   From:  Charles Bailey
  Msg-ID:  <1996Nov22.181631.1603238@hmivax.humgen.upenn.edu>
    Date:  Fri, 22 Nov 1996 18:16:31 -0500 (EST)
   Files:  lib/ExtUtils/MM_Unix.pm lib/ExtUtils/MM_VMS.pm
@@ -4350,20 +4665,20 @@ scoping and locale handling.
           vms/vmsish.h
 
   Title:  "5.003_08: OS/2-specific bugs/enhancements"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
  Msg-ID:  <199611241147.GAA00490@monk.mps.ohio-state.edu>
    Date:  Sun, 24 Nov 1996 06:47:25 -0500 (EST)
   Files:  README.os2 hints/os2.sh os2/Changes os2/Makefile.SHs
           os2/OS2/PrfDB/PrfDB.pm os2/os2.c
 
   Title:  "HP patches didn't make it into _08 (fwd)"
-   From:  Jeff Okamoto <okamoto@hpcc123.corp.hp.com>
+   From:  Jeff Okamoto
  Msg-ID:  <199611260215.AA100414526@hpcc123.corp.hp.com>
    Date:  Mon, 25 Nov 96 18:15:26 PST
   Files:  ext/DynaLoader/dl_hpux.xs
 
   Title:  "Another HP "patch" that didn't make it (new hints file)"
-   From:  Jeff Okamoto <okamoto@hpcc123.corp.hp.com>
+   From:  Jeff Okamoto
  Msg-ID:  <199611252116.AA245766577@hpcc123.corp.hp.com>
    Date:  Mon, 25 Nov 1996 13:16:17 -0800
   Files:  hints/hpux.sh
@@ -4371,15 +4686,15 @@ scoping and locale handling.
  LIBRARY AND EXTENSIONS
 
   Title:  "Elide spurious space in db-hash.t"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  t/lib/db-hash.t
 
   Title:  "Update documentation and warning in I18N::Collate."
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  lib/I18N/Collate.pm
 
   Title:  "Fix bitwise op test; clean up a couple of others"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  t/lib/bigintpm.t t/op/bop.t t/op/overload.t
 
   Title:  "minimal timelocal.pl for _09"
@@ -4389,11 +4704,11 @@ scoping and locale handling.
   Files:  lib/Time/Local.pm
 
   Title:  "Socket test improvement from Ilya."
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  t/lib/io_sock.t
 
   Title:  "Re: blib"
-   From:  nick@ni-s.u-net.com (Nick Ing-Simmons)
+   From:  Nick Ing-Simmons
  Msg-ID:  <199611230917.JAA00471@ni-s.u-net.com>
    Date:  Sat, 23 Nov 1996 09:17:40 GMT
   Files:  lib/blib.pm
@@ -4401,19 +4716,19 @@ scoping and locale handling.
  DOCUMENTATION
 
   Title:  "perldiag documentation patch."
-   From:  pmarquess@bfsec.bt.co.uk (Paul Marquess)
+   From:  Paul Marquess
  Msg-ID:  <9611201607.AA12729@claudius.bfsec.bt.co.uk>
    Date:  Wed, 20 Nov 96 16:07:28 GMT
   Files:  pod/perldiag.pod
 
   Title:  "a missing perldiag entry"
-   From:  Gurusamy Sarathy <gsar@engin.umich.edu>
+   From:  Gurusamy Sarathy
  Msg-ID:  <199611212024.PAA15758@aatma.engin.umich.edu>
    Date:  Thu, 21 Nov 1996 15:24:02 -0500
   Files:  pod/perldiag.pod
 
   Title:  "perlfunc patch"
-   From:  pmarquess@bfsec.bt.co.uk (Paul Marquess)
+   From:  Paul Marquess
  Msg-ID:  <9611201404.AA12477@claudius.bfsec.bt.co.uk>
    Date:  Wed, 20 Nov 96 14:04:08 GMT
   Files:  pod/perlfunc.pod
@@ -4425,19 +4740,19 @@ scoping and locale handling.
   Files:  pod/perlpod.pod
 
   Title:  "Update locale documentation."
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pod/perli18n.pod
 
  BUNDLED UTILITIES
 
   Title:  "Fix type mismatches in x2p's safe{alloc,realloc,free}."
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  x2p/util.c
 
 
-----------------
-Version 5.003_08
-----------------
+------------------
+ Version 5.003_08
+------------------
 
 This patch was a compendium of various fixes and enhancements from
 many people.  Here are some of the more significant changes.
@@ -4446,13 +4761,13 @@ many people.  Here are some of the more significant changes.
  CORE LANGUAGE CHANGES
 
   Title:  "Make C<no FOO> fail if C<unimport FOO> fails"
-   From:  Tim Bunce <Tim.Bunce@ig.co.uk>
+   From:  Tim Bunce
   Files:  gv.c
 
   Title:  "Bitwise op sign rationalization"
           (Make bitwise ops result in unsigned values, unless C<use
           integer> is in effect.  Includes initial support for UVs.)
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  op.c opcode.pl pod/perlop.pod pod/perltoc.pod pp.c pp.h
           pp_hot.c proto.h sv.c t/op/bop.t
 
@@ -4463,78 +4778,78 @@ many people.  Here are some of the more significant changes.
           structure.  Also adds new construct "for my", which
           automatically declares the control variable "my" and limits
           its scope to the loop.)
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  op.c perly.c perly.c.diff perly.h perly.y proto.h toke.c
 
   Title:  "Fix ++/-- after int conversion (e.g. 'printf "%d"')"
           (This patch makes Perl correctly ignore SvIVX() if either
           NOK or POK is true, since SvIVX() may be a truncated or
           overflowed version of the real value.)
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  pp.c pp_hot.c sv.c
 
   Title:  "Make code match Camel II re: functions that use $_"
-   From:  pmarquess@bfsec.bt.co.uk (Paul Marquess)
+   From:  Paul Marquess
   Files:  opcode.pl
 
   Title:  "Provide scalar context on left side of "->""
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  perly.c perly.y
 
   Title:  "Quote bearword package/handle FOO in "funcname FOO => 'bar'""
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  toke.c
 
 
  OTHER CORE CHANGES
 
   Title:  "Warn on overflow of octal and hex integers"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  proto.h toke.c util.c
 
   Title:  "If -w active, warn for commas and hashes ('#') in qw()"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  toke.c
 
   Title:  "Fixes for pack('w')"
-   From:  Ulrich Pfeifer <pfeifer@charly.informatik.uni-dortmund.de>
+   From:  Ulrich Pfeifer
   Files:  pp.c t/op/pack.t
 
   Title:  "More complete output from sv_dump()"
-   From:  Gurusamy Sarathy <gsar@engin.umich.edu>
+   From:  Gurusamy Sarathy
   Files:  sv.c
 
   Title:  "Major '..' and debugger patches"
-   From:  Ilya Zakharevich <ilya@math.ohio-state.edu>
+   From:  Ilya Zakharevich
   Files:  lib/perl5db.pl op.c pp_ctl.c scope.c scope.h
 
   Title:  "Fix for formline()"
-   From:  Gurusamy Sarathy <gsar@engin.umich.edu>
+   From:  Gurusamy Sarathy
   Files:  global.sym mg.c perl.h pod/perldiag.pod pp_ctl.c proto.h sv.c
           t/op/write.t
 
   Title:  "Fix stack botch in untie and binmode"
-   From:  Gurusamy Sarathy <gsar@engin.umich.edu>
+   From:  Gurusamy Sarathy
   Files:  pp_sys.c
 
   Title:  "Complete EMBED, including symbols from interp.sym"
           (New define EMBEDMYMALLOC makes embedding total by
           avoiding "Mymalloc" etc.)
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  MANIFEST embed.pl ext/DynaLoader/dlutils.c
           ext/SDBM_File/sdbm/sdbm.h global.sym handy.h malloc.c
           perl.h pp_sys.c proto.h regexec.c toke.c util.c
           x2p/Makefile.SH x2p/a2p.h x2p/handy.h x2p/util.h
 
   Title:  "Support old embedding for people who want it"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  MANIFEST Makefile.SH old_embed.pl old_global.sym
 
 
  PORTABILITY
 
   Title:  "Miscellaneous VMS fixes"
-   From:  Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+   From:  Charles Bailey
   Files:  lib/ExtUtils/Liblist.pm lib/ExtUtils/MM_VMS.pm
           lib/Math/Complex.pm lib/Time/Local.pm lib/timelocal.pl
           perl.h perl_exp.SH proto.h t/TEST t/io/read.t
@@ -4555,14 +4870,14 @@ many people.  Here are some of the more significant changes.
           plan9/genconfig.pl plan9/mkfile plan9/setup.rc
 
   Title:  "Patch to make Perl work under AmigaOS"
-   From:  "Norbert Pueschel" <pueschel@imsdd.meb.uni-bonn.de>
+   From:  Norbert Pueschel
   Files:  MANIFEST hints/amigaos.sh installman lib/File/Basename.pm
           lib/File/Find.pm pod/pod2man.PL pp_sys.c util.c
 
  LIBRARY AND EXTENSIONS
 
   Title:  "DB_File 1.05"
-   From:  Paul Marquess (pmarquess@bfsec.bt.co.uk)
+   From:  Paul Marquess
   Files:  ext/DB_File/DB_File.pm ext/DB_File/DB_File.xs t/lib/db-hash.t
 
   Title:  "Getopts::Std patch for hash support"
@@ -4571,7 +4886,7 @@ many people.  Here are some of the more significant changes.
 
   Title:  "Kludge for bareword handles"
           (Add 'require IO::Handle' at beginning of FileHandle.pm)
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  ext/FileHandle/FileHandle.pm
 
   Title:  "Re: strtod / strtol patch for POSIX module"
@@ -4582,13 +4897,13 @@ many people.  Here are some of the more significant changes.
  BUNDLED UTILITIES
 
   Title:  "Fix a2p translation of '{print "a" "b" "c"}'"
-   From:  Chip Salzenberg <chip@atlantic.net>
+   From:  Chip Salzenberg
   Files:  x2p/a2p.c x2p/a2p.y
 
 
-----------------
-Version 5.003_07
-----------------
+------------------
+ Version 5.003_07
+------------------
 
 This patch was primarily to fix bugs or include little things I missed
 in 5.003_06.  5.003_07 is intended to be stable enough to merit serious
@@ -4682,14 +4997,14 @@ Index: MANIFEST
     Add mention of t/lib/io_taint.t
 
     Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     os2/Changes added.
 
 Index: Makefile.SH
 
     Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     All the executable targets are moved into the same chunk with
        shared library target, which is delegated to
@@ -4755,14 +5070,14 @@ Index: ext/SDBM_File/sdbm/sdbm.h
 Index: gv.c
 
     Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     Better error message for overload.
 
 Index: hints/os2.sh
 
     Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     Some optimization (speedup in loading GNU utilities with some
        memory present - 32M should be quite enough).
@@ -4777,14 +5092,14 @@ Index: hints/sco.sh
 Index: installperl
 
     Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     Restore timestamps under OS/2 (needed for binary install).
 
 Index: lib/Cwd.pm
 
     Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     Use builtin methods if present under OS/2 (maybe should be
     done outside of OS/2 too?).
@@ -4792,28 +5107,28 @@ Index: lib/Cwd.pm
 Index: lib/ExtUtils/MM_Unix.pm
 
     Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     Made `use strict'-clean even in parts shadowed by Autoloading.
 
 Index: lib/ExtUtils/typemap
 
     Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     `bool' entry added.
 
 Index: lib/ExtUtils/xsubpp
 
     Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     Logic for processing RETVAL documented (at last!).
 
 Index: lib/File/Copy.pm
 
     Date: Thu, 10 Oct 1996 00:42:29 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
     Subject: Cleanup after new test
 
     Below are patches for File::Copy (copying to filehandles was just
@@ -4822,7 +5137,7 @@ Index: lib/File/Copy.pm
 Index: lib/FindBin.pm
 
     Date: Fri, 20 Sep 1996 15:04:04 +0200
-    From: Gisle Aas <aas@bergen.sn.no>
+    From: Gisle Aas
     Subject: Documentation patch to the FindBin module
 
 Index: lib/Getopt/Long.pm
@@ -4844,7 +5159,7 @@ Index: lib/newgetopt.pl
 Index: makedepend.SH
 
     Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     weed out perl_exp.SH, config_h.SH
     (They have these funny names to avoid names like perl.exp.SH
@@ -4853,7 +5168,7 @@ Index: makedepend.SH
 Index: mg.c
 
     Date: Thu, 10 Oct 1996 14:33:08 +0000 ()
-    From: Chip Salzenberg <chip@atlantic.net>
+    From: Chip Salzenberg
     Subject: Re: Group fix for 5.003_06
 
     The group problems recently experienced are due to a small error
@@ -4862,20 +5177,20 @@ Index: mg.c
 Index: os2/Changes
 
     Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     sys/un.h is not very useful without Merlin toolkit.
     updates for fork()ing.
 
     Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     added.
 
 Index: os2/Makefile.SHs
 
     Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     Convoluted process to create chimera executables added.
     aout_clean is done automatically on clean.
@@ -4883,7 +5198,7 @@ Index: os2/Makefile.SHs
 Index: os2/OS2/ExtAttr/t/os2_ea.t
 
     Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     Use `unlink' where appropriate.
 
@@ -4894,7 +5209,7 @@ Index: os2/diff.configure
 Index: os2/os2.c
 
     Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     /bin/sh is translated to the configured value of location of sh.exe.
     popen() used even if we can fork (as we do now).
@@ -4903,7 +5218,7 @@ Index: os2/os2.c
 Index: os2/os2ish.h
 
     Date: Wed, 9 Oct 1996 22:29:44 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     sys/un.h is not very useful without Merlin toolkit.
     updates for fork()ing.
@@ -4915,7 +5230,7 @@ Index: patchlevel.h
 Index: perl.c
 
     Date: Wed, 9 Oct 1996 19:03:41 +0000
-    From: Tim Bunce <Tim.Bunce@ig.co.uk>
+    From: Tim Bunce
     Subject: Infinte loop with perl_destruct_level and $SIG{__WARN__}
 
     I've just started using purify on a perl with DBD::Oracle linked in
@@ -4926,7 +5241,7 @@ Index: perl.c
     of problems typified by this example and folowed by a core dump:
 
     Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     Copywrite of OS/2 port now has \n\n.
     Now deletes -e file (again!) if compilation is interrupted.
@@ -5000,7 +5315,7 @@ Index: plan9/versnum
 Index: pod/perldiag.pod
 
     Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     mention that malloc in berkeley DB is broken, and PERL_BADFREE.
     OS/2-specific messages added.
@@ -5008,7 +5323,7 @@ Index: pod/perldiag.pod
 Index: pod/perlfunc.pod
 
     Date: 20 Sep 1996 13:17:14 +0200
-    From: Ulrich Pfeifer <pfeifer@charly.informatik.uni-dortmund.de>
+    From: Ulrich Pfeifer
     Subject: Re: Patch for ASN.1 compressed integer in pack/unpack
 
 Index: pod/perli18n.pod
@@ -5018,7 +5333,7 @@ Index: pod/perli18n.pod
 Index: pod/perlop.pod
 
     Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     Crossrefs corrected.
 
@@ -5030,14 +5345,14 @@ Index: pod/perltrap.pod
 Index: pod/perlvar.pod
 
     Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     $^E under OS/2.
 
 Index: pp.c
 
     Date: 20 Sep 1996 13:17:14 +0200
-    From: Ulrich Pfeifer <pfeifer@charly.informatik.uni-dortmund.de>
+    From: Ulrich Pfeifer
     Subject: Re: Patch for ASN.1 compressed integer in pack/unpack
 
 Index: pp_sys.c
@@ -5051,7 +5366,7 @@ Index: pp_sys.c
 Index: sv.c
 
     Date: Tue, 08 Oct 1996 23:54:47 -0400
-    From: Gurusamy Sarathy <gsar@engin.umich.edu>
+    From: Gurusamy Sarathy
     Subject: Re: Sorting lists of integers doesn't always work
 
     >> >       print sort (4,1,2,3);
@@ -5070,7 +5385,7 @@ Index: sv.c
 Index: t/lib/anydbm.t
 
     Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     File mode under OS/2 is not what you expect. However, this has
     nothing to do with databases, _and_ there is a test
@@ -5082,7 +5397,7 @@ Index: t/lib/anydbm.t
 Index: t/lib/db-btree.t
 
     Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     File mode under OS/2 is not what you expect. However, this has
     nothing to do with databases, _and_ there is a test
@@ -5094,7 +5409,7 @@ Index: t/lib/db-btree.t
 Index: t/lib/db-hash.t
 
     Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     File mode under OS/2 is not what you expect. However, this has
     nothing to do with databases, _and_ there is a test
@@ -5106,7 +5421,7 @@ Index: t/lib/db-hash.t
 Index: t/lib/db-recno.t
 
     Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     File mode under OS/2 is not what you expect. However, this has
     nothing to do with databases, _and_ there is a test
@@ -5118,7 +5433,7 @@ Index: t/lib/db-recno.t
 Index: t/lib/gdbm.t
 
     Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     File mode under OS/2 is not what you expect. However, this has
     nothing to do with databases, _and_ there is a test
@@ -5130,7 +5445,7 @@ Index: t/lib/gdbm.t
 Index: t/lib/io_pipe.t
 
     Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     Better error message on dying.
 
@@ -5154,7 +5469,7 @@ Index: t/lib/io_taint.t
 Index: t/lib/ndbm.t
 
     Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     File mode under OS/2 is not what you expect. However, this has
     nothing to do with databases, _and_ there is a test
@@ -5166,7 +5481,7 @@ Index: t/lib/ndbm.t
 Index: t/lib/odbm.t
 
     Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     File mode under OS/2 is not what you expect. However, this has
     nothing to do with databases, _and_ there is a test
@@ -5178,7 +5493,7 @@ Index: t/lib/odbm.t
 Index: t/lib/sdbm.t
 
     Date: Wed, 9 Oct 1996 22:30:38 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     File mode under OS/2 is not what you expect. However, this has
     nothing to do with databases, _and_ there is a test
@@ -5190,7 +5505,7 @@ Index: t/lib/sdbm.t
 Index: t/lib/socket.t
 
     Date: Thu, 10 Oct 1996 01:09:59 -0400
-    From: Spider Boardman <spider@orb.nashua.nh.us>
+    From: Spider Boardman
     Subject: Re: 5.003_06 is available (results on ULTRIX)
 
     fix t/lib/socket.t to treat TCP like the stream protocol it is
@@ -5199,19 +5514,19 @@ Index: t/lib/socket.t
 Index: t/op/pack.t
 
     Date: 20 Sep 1996 13:17:14 +0200
-    From: Ulrich Pfeifer <pfeifer@charly.informatik.uni-dortmund.de>
+    From: Ulrich Pfeifer
     Subject: Re: Patch for ASN.1 compressed integer in pack/unpack
 
 Index: t/op/sort.t
 
     Date: Wed, 09 Oct 1996 00:41:27 -0400
-    From: Gurusamy Sarathy <gsar@engin.umich.edu>
+    From: Gurusamy Sarathy
     Subject: more t/op/sort.t tests
 
 Index: util.c
 
     Date: Wed, 9 Oct 1996 22:32:22 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
 
     uses my_syspopen, my_syspclose ifdef OS2. my_pclose is defined
     as my_syspclose ifdef OS2 and can FORK (as OS2 does).
@@ -5237,9 +5552,10 @@ Index: x2p/cflags.SH
     pathname of the file being extracted.
 
 
-----------------
-Version 5.003_06
-----------------
+------------------
+ Version 5.003_06
+------------------
+
 This patch was primarily to fix bugs, improve the documentation,
 and work towards restoring binary compatibility with 5.003.
 The details are described below.  A very brief summary is:
@@ -5291,7 +5607,7 @@ Here are the specific file-by-file changes.
 # The full description is below.
 # Please execute the following commands before applying this patch.
 # (You can feed this patch to 'sh' to do so.)
-#  Andy Dougherty              <doughera@lafcol.lafayette.edu>
+#    -- Andy Dougherty
 
 # We'll create some new tests, but patch won't automatically make them
 # executable.
@@ -5327,12 +5643,6 @@ designed so you can examine each change with a command such as
 csplit may complain, since many csplit's have an arbitrary limit of 100
 files.  Still, you can manually split the file or roll your own.)
 
-Patch and enjoy,
-
-    Andy Dougherty             doughera@lafcol.lafayette.edu
-    Dept. of Physics
-    Lafayette College, Easton PA 18042
-
 Index: Changes
 
     Updated for 5.003_06.
@@ -5353,7 +5663,7 @@ Index: Configure
 Index: INSTALL
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -5363,7 +5673,7 @@ Index: INSTALL
 Index: MANIFEST
 
     Date: Sun, 22 Sep 1996 00:59:56 +0200
-    From: Gisle Aas <aas@aas.no>
+    From: Gisle Aas
     Subject: More standard library test scripts
 
     This is a collection of test scripts for the standard library modules.
@@ -5371,13 +5681,13 @@ Index: MANIFEST
     out are applied.
 
     Date: Sat, 28 Sep 1996 15:11:06 +0200
-    From: Andreas Koenig <k@anna.in-berlin.de>
+    From: Andreas Koenig
     Subject: Dale's posting as patch (Was: Perl 5.003_5 make fails on NS3.2 - CURED)
 
     Handle NeXT, POSIX, and setpgid in pp_sys.c and POSIX.
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -5408,13 +5718,13 @@ Index: configure
 Index: doio.c
 
     Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT)
-    From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+    From: Charles Bailey
     Subject: VMS patches to 5.003_05
 
 Index: doop.c
 
     Date: Mon, 30 Sep 1996 01:13:28 -0400
-    From: Spider Boardman <spider@Orb.Nashua.NH.US>
+    From: Spider Boardman
     Subject: Re: pre extending hash? - need speed
 
     The patch below (which is relative to perl5.001l) implements
@@ -5536,7 +5846,7 @@ Index: ext/NDBM_File/hints/dynixptx.pl
 Index: ext/Opcode/Opcode.pm
 
     Date: Fri, 20 Sep 1996 12:59:21 +0200
-    From: Gisle Aas <aas@bergen.sn.no>
+    From: Gisle Aas
     Subject: Re: Symbol.pm clobbers $_ at startup
 
     The same kind of problem seem to be present in Opcode.pm:
@@ -5560,7 +5870,7 @@ Index: ext/Opcode/Safe.pm
 Index: ext/POSIX/POSIX.pod
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -5570,7 +5880,7 @@ Index: ext/POSIX/POSIX.pod
 Index: ext/POSIX/POSIX.xs
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -5581,7 +5891,7 @@ Index: ext/POSIX/POSIX.xs
 Index: ext/POSIX/hints/next_3.pl
 
     Date: Sat, 28 Sep 1996 15:11:06 +0200
-    From: Andreas Koenig <k@anna.in-berlin.de>
+    From: Andreas Koenig
     Subject: Dale's posting as patch (Was: Perl 5.003_5 make fails on NS3.2 - CURED)
 
     Handle NeXT, POSIX, and setpgid in pp_sys.c and POSIX.
@@ -5606,7 +5916,7 @@ Index: global.sym
     Provide new 3-arg forms gv_fullname3() and gv_efullname3().
 
     Date: Mon, 30 Sep 1996 01:13:28 -0400
-    From: Spider Boardman <spider@Orb.Nashua.NH.US>
+    From: Spider Boardman
     Subject: Re: pre extending hash? - need speed
 
     The patch below (which is relative to perl5.001l) implements
@@ -5616,7 +5926,7 @@ Index: global.sym
     improved.
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -5631,7 +5941,7 @@ Index: gv.c
 Index: handy.h
 
     Date: Sat, 21 Sep 1996 21:33:15 -0400 (EDT)
-    From: Kenneth Albanowski <kjahds@kjahds.com>
+    From: Kenneth Albanowski
     Subject: Full LONG_MAX & co. patch over 5.003_05
 
     This patch contains the changes I've collected for the various _MAX issues
@@ -5651,7 +5961,7 @@ Index: hints/next_3.sh
     the optimizier.
 
     Date: Sat, 28 Sep 1996 15:11:06 +0200
-    From: Andreas Koenig <k@anna.in-berlin.de>
+    From: Andreas Koenig
     Subject: Dale's posting as patch (Was: Perl 5.003_5 make fails on NS3.2 - CURED)
 
     Handle NeXT, POSIX, and setpgid in pp_sys.c and POSIX.
@@ -5659,7 +5969,7 @@ Index: hints/next_3.sh
 Index: hv.c
 
     Date: Fri, 20 Sep 1996 15:38:57 -0400
-    From: Gurusamy Sarathy <gsar@engin.umich.edu>
+    From: Gurusamy Sarathy
     Subject: Re: "Attempt to free non-existent shared string"? (with patch)
 
     I found a subtle problem with the lazydelete mechanism (which is used
@@ -5673,7 +5983,7 @@ Index: hv.c
     flag.
 
     Date: Mon, 30 Sep 1996 01:13:28 -0400
-    From: Spider Boardman <spider@Orb.Nashua.NH.US>
+    From: Spider Boardman
     Subject: Re: pre extending hash? - need speed
 
     The patch below (which is relative to perl5.001l) implements
@@ -5685,7 +5995,7 @@ Index: hv.c
 Index: hv.h
 
     Date: Fri, 20 Sep 1996 15:38:57 -0400
-    From: Gurusamy Sarathy <gsar@engin.umich.edu>
+    From: Gurusamy Sarathy
     Subject: Re: "Attempt to free non-existent shared string"? (with patch)
 
     I found a subtle problem with the lazydelete mechanism (which is used
@@ -5719,21 +6029,21 @@ Index: installperl
 Index: lib/AutoLoader.pm
 
     Date: Mon Sep  9 09:29:44 1996
-    From: Gisle Aas <aas@bergen.sn.no>
+    From: Gisle Aas
     Subject: Re: problem with 'die' and UserAgent
 
     > This is a patch to the AutoLoader.pm (from 5.003) that fixes the problem:
     This is a better patch (no need to test for /::DESTROY$/ twice):
 
     Date: Mon, 30 Sep 1996 00:54:37 -0400
-    From: Spider Boardman <spider@Orb.Nashua.NH.US>
+    From: Spider Boardman
 
     The test and patches for AutoLoader were also non-functional,
     since the regexp context (curpm) was still being clobbered by the
     filename manipulations:
 
     Date: Sun, 06 Oct 1996 16:15:07 +0200
-    From: Gisle Aas <aas@bergen.sn.no>
+    From: Gisle Aas
     Subject: Re: Can't locate auto/U/autosplit.ix
 
     It would IMHO be much better if the AutoLoader exported the AUTOLOAD()
@@ -5746,7 +6056,7 @@ Index: lib/AutoLoader.pm
 Index: lib/Benchmark.pm
 
     Date: Sat, 28 Sep 1996 17:01:22 +0300 (EET DST)
-    From: Jarkko Hietaniemi <jhi@cc.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: a really really tiny typo
 
     Date: Fri, 20 Sep 1996 15:08:33 +0100 (BST)
@@ -5831,7 +6141,7 @@ Index: lib/ExtUtils/MM_VMS.pm
     5.003_05 pods, including the pods embedded in library modules.
 
     Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT)
-    From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+    From: Charles Bailey
     Subject: VMS patches to 5.003_05
 
 Index: lib/ExtUtils/MakeMaker.pm
@@ -5853,7 +6163,7 @@ Index: lib/ExtUtils/Manifest.pm
     5.003_05 pods, including the pods embedded in library modules.
 
     Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT)
-    From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+    From: Charles Bailey
     Subject: VMS patches to 5.003_05
 
 Index: lib/ExtUtils/Mksymlists.pm
@@ -5872,24 +6182,24 @@ Index: lib/ExtUtils/xsubpp
 Index: lib/File/Basename.pm
 
     Date: Fri, 20 Sep 1996 14:11:05 +0200
-    From: Gisle Aas <aas@bergen.sn.no>
+    From: Gisle Aas
     Subject: File::BaseName: "/" is legal path separator for MSDOS
 
     The File::BaseName module should allow "/" as path separator when
     fileparse_set_fstype("MSDOS") is in effect:
 
     Date: Fri, 20 Sep 1996 13:58:52 +0200
-    From: Gisle Aas <aas@bergen.sn.no>
+    From: Gisle Aas
     Subject: File::Basename documentation patch
 
     Date: Mon, 30 Sep 1996 00:54:37 -0400
-    From: Spider Boardman <spider@Orb.Nashua.NH.US>
+    From: Spider Boardman
 
     For t/lib/basename.t, though, the associated patch for
     File::Basename was also wrong:
 
     Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT)
-    From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+    From: Charles Bailey
     Subject: VMS patches to 5.003_05
 
 Index: lib/File/Copy.pm
@@ -5943,7 +6253,7 @@ Index: lib/Getopt/Long.pm
 Index: lib/I18N/Collate.pm
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -5971,7 +6281,7 @@ Index: lib/IPC/Open3.pm
 Index: lib/Math/BigInt.pm
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -5999,7 +6309,7 @@ Index: lib/Pod/Text.pm
 Index: lib/Search/Dict.pm
 
     Date: Sat, 21 Sep 1996 23:02:42 +0200
-    From: Gisle Aas <aas@aas.no>
+    From: Gisle Aas
     Subject: look() in Search::Dict should use lc() istead of tr/A-Z/a-z/
 
     The Search::Dict look() function should use the lc() function instead
@@ -6018,7 +6328,7 @@ Index: lib/SelfLoader.pm
 Index: lib/Symbol.pm
 
     Date: Fri, 20 Sep 1996 12:38:14 +0200
-    From: Gisle Aas <aas@bergen.sn.no>
+    From: Gisle Aas
     Subject: Symbol.pm clobbers $_ at startup
 
       perl -le 'BEGIN {$_="foo";} use Symbol; print qualify($_)'
@@ -6046,7 +6356,7 @@ Index: lib/Sys/Hostname.pm
 Index: lib/Term/Cap.pm
 
     Date: 23 Sep 1996 14:11:38 +0200
-    From: Ulrich Pfeifer <pfeifer@charly.informatik.uni-dortmund.de>
+    From: Ulrich Pfeifer
     Subject: Patch for Term::Cap
 
     'use Term::Cap' produces a warning when diagnosics are active. The
@@ -6083,13 +6393,13 @@ Index: lib/Test/Harness.pm
     5.003_05 pods, including the pods embedded in library modules.
 
     Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT)
-    From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+    From: Charles Bailey
     Subject: VMS patches to 5.003_05
 
 Index: lib/Text/Abbrev.pm
 
     Date: 23 Sep 1996 11:33:01 +0200
-    From: Ulrich Pfeifer <pfeifer@charly.informatik.uni-dortmund.de>
+    From: Ulrich Pfeifer
     Subject: Text::Abbrev (Re: More standard library test scripts)
 
     This patch merges the Text::Abbrev related patches/tests from Gisle
@@ -6129,7 +6439,7 @@ Index: lib/UNIVERSAL.pm
 Index: lib/bigint.pl
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -6157,7 +6467,7 @@ Index: lib/overload.pm
 Index: lib/perl5db.pl
 
     Date: Mon, 30 Sep 1996 00:34:58 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
     Subject: Re: dereferencing a hash from the debugger won't work
 
 Index: lib/splain
@@ -6195,14 +6505,14 @@ Index: mg.c
     Provide new 3-arg forms gv_fullname3() and gv_efullname3().
 
     Date: Sun, 29 Sep 1996 22:18:19 -0400 (EDT)
-    From: Chip Salzenberg <salzench@nielsenmedia.com>
+    From: Chip Salzenberg
     Subject: 5.003_05: Fix numeric value of $!
 
     This patch undoes a bit of over-zealous integerization in mg.c, related
     to the numeric value of $!.
 
     Date: Mon, 30 Sep 1996 01:13:28 -0400
-    From: Spider Boardman <spider@Orb.Nashua.NH.US>
+    From: Spider Boardman
     Subject: Re: pre extending hash? - need speed
 
     The patch below (which is relative to perl5.001l) implements
@@ -6212,11 +6522,11 @@ Index: mg.c
     improved.
 
     Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT)
-    From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+    From: Charles Bailey
     Subject: VMS patches to 5.003_05
 
     Date: Fri, 4 Oct 1996 12:38:31 -0400 (EDT)
-    From: Chip Salzenberg <salzench@nielsenmedia.com>
+    From: Chip Salzenberg
     Subject: 5.003_05: Fix numeric $! and $^E
 
     This patch undoes a bit of over-zealous integerization in mg.c,
@@ -6231,7 +6541,7 @@ Index: op.c
     Provide new 3-arg forms gv_fullname3() and gv_efullname3().
 
     Date: Mon, 30 Sep 1996 01:13:28 -0400
-    From: Spider Boardman <spider@Orb.Nashua.NH.US>
+    From: Spider Boardman
     Subject: Re: pre extending hash? - need speed
 
     The patch below (which is relative to perl5.001l) implements
@@ -6266,26 +6576,26 @@ Index: patchlevel.h
 
 Index: perl.c
 
-    From: Roderick Schertler <roderick@gate.net>
+    From: Roderick Schertler
     Subject: Re: -T flag and removal of `.' from @INC
 
     support C<perl -e'attached code'>
 
     Date: Tue, 01 Oct 1996 19:02:17 -0400
-    From: Gurusamy Sarathy <gsar@engin.umich.edu>
+    From: Gurusamy Sarathy
     Subject: Re: 2 core dumps (patch)
     Message-Id: <199610012302.TAA08395@aatma.engin.umich.edu>
 
     The problem is an uninitialized SV slot in errgv.  Here's a patch.
 
     Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT)
-    From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+    From: Charles Bailey
     Subject: VMS patches to 5.003_05
 
 Index: perl.h
 
     Date: Sat, 21 Sep 1996 21:33:15 -0400 (EDT)
-    From: Kenneth Albanowski <kjahds@kjahds.com>
+    From: Kenneth Albanowski
     Subject: Full LONG_MAX & co. patch over 5.003_05
 
     This patch contains the changes I've collected for the various _MAX issues
@@ -6296,7 +6606,7 @@ Index: perl.h
     ambiguous) and to explicitly cast all of the constants.
 
     Date: Mon, 30 Sep 1996 01:13:28 -0400
-    From: Spider Boardman <spider@Orb.Nashua.NH.US>
+    From: Spider Boardman
     Subject: Re: pre extending hash? - need speed
 
     The patch below (which is relative to perl5.001l) implements
@@ -6309,7 +6619,7 @@ Index: perl.h
     5.003.
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -6335,13 +6645,13 @@ Index: perlsdio.h
     Undef Irix getc_unlocked and putc_unlocked #defines.
 
     Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT)
-    From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+    From: Charles Bailey
     Subject: VMS patches to 5.003_05
 
 Index: pod/Makefile
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -6369,7 +6679,7 @@ Index: pod/perl.pod
     Changed Larry's address to larry@wall.org.
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -6439,7 +6749,7 @@ Index: pod/perldiag.pod
     5.003_05 pods, including the pods embedded in library modules.
 
     Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT)
-    From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+    From: Charles Bailey
     Subject: VMS patches to 5.003_05
 
 Index: pod/perldsc.pod
@@ -6492,7 +6802,7 @@ Index: pod/perlguts.pod
     From: "Daniel S. Lewart" <lewart@vadds.cvm.uiuc.edu>
     Subject: POD spelling patches
     Date: Mon, 23 Sep 96 13:18:01 PDT
-    From: Jeff Okamoto <okamoto@hpcc123.corp.hp.com>
+    From: Jeff Okamoto
     Subject: Re: perlguts API Listing patch
 
     Here's the lastest complete version for inclusion into _06 or .004.  This
@@ -6508,7 +6818,7 @@ Index: pod/perlguts.pod
 Index: pod/perli18n.pod
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -6551,7 +6861,7 @@ Index: pod/perlmod.pod
     5.003_05 pods, including the pods embedded in library modules.
 
     Date: Wed, 02 Oct 1996 16:52:08 -0400
-    From: Roderick Schertler <roderick@gate.net>
+    From: Roderick Schertler
     Subject: documentation for $? in END
 
     Document the behavior with $? WRT END subroutines.
@@ -6575,7 +6885,7 @@ Index: pod/perlop.pod
     5.003_05 pods, including the pods embedded in library modules.
 
     Date: Fri, 4 Oct 1996 10:36:19 -0400 (EDT)
-    From: Kenneth Albanowski <kjahds@kjahds.com>
+    From: Kenneth Albanowski
     Subject: Re: Suggestion for improving man page
 
     Add alternative names for various escape sequences.
@@ -6607,7 +6917,7 @@ Index: pod/perlre.pod
     5.003_05 pods, including the pods embedded in library modules.
 
     Date: Fri, 4 Oct 1996 10:36:19 -0400 (EDT)
-    From: Kenneth Albanowski <kjahds@kjahds.com>
+    From: Kenneth Albanowski
     Subject: Re: Suggestion for improving man page
 
     Add alternative names for various escape sequences.
@@ -6702,7 +7012,7 @@ Index: pod/perltoc.pod
 Index: pod/perltrap.pod
 
     Date: Wed, 11 Sep 1996 13:26:18 -0400
-    From: Gurusamy Sarathy <gsar@engin.umich.edu>
+    From: Gurusamy Sarathy
     Subject: a perl425 trap
 
     Here's an addition that should be self-explanatory.
@@ -6725,7 +7035,7 @@ Index: pod/perlvar.pod
     5.003_05 pods, including the pods embedded in library modules.
 
     Date: Wed, 02 Oct 1996 16:52:08 -0400
-    From: Roderick Schertler <roderick@gate.net>
+    From: Roderick Schertler
     Subject: documentation for $? in END
 
     Document the behavior with $? WRT END subroutines.
@@ -6789,7 +7099,7 @@ Index: pp_ctl.c
     Provide new 3-arg forms gv_fullname3() and gv_efullname3().
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -6854,7 +7164,7 @@ Index: pp_sys.c
     then closed and re-opened, retained the untaintedness.
 
     Date: Mon, 30 Sep 1996 00:54:37 -0400
-    From: Spider Boardman <spider@Orb.Nashua.NH.US>
+    From: Spider Boardman
 
     First, with IO::untaint, the patches as posted resulted in a
     miniperl which couldn't open files, so the autosplitting of the
@@ -6867,7 +7177,7 @@ Index: proto.h
     Provide new 3-arg forms gv_fullname3() and gv_efullname3().
 
     Date: Mon, 30 Sep 1996 01:13:28 -0400
-    From: Spider Boardman <spider@Orb.Nashua.NH.US>
+    From: Spider Boardman
     Subject: Re: pre extending hash? - need speed
 
     The patch below (which is relative to perl5.001l) implements
@@ -6877,7 +7187,7 @@ Index: proto.h
     improved.
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -6895,7 +7205,7 @@ Index: sv.c
     Provide new 3-arg forms gv_fullname3() and gv_efullname3().
 
     Date: Mon, 30 Sep 1996 01:13:28 -0400
-    From: Spider Boardman <spider@Orb.Nashua.NH.US>
+    From: Spider Boardman
     Subject: Re: pre extending hash? - need speed
 
     The patch below (which is relative to perl5.001l) implements
@@ -6905,7 +7215,7 @@ Index: sv.c
     improved.
 
     Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT)
-    From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+    From: Charles Bailey
     Subject: VMS patches to 5.003_05
 
       I've added some DEBUG_Ps to sv.c which give a trace of the
@@ -6916,7 +7226,7 @@ Index: sv.c
       already adds a profile of op usage to its advertised output.)
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -6944,7 +7254,7 @@ Index: sv.h
     * Add the "untaint" keyword.
 
     Date: Fri, 20 Sep 1996 15:38:57 -0400
-    From: Gurusamy Sarathy <gsar@engin.umich.edu>
+    From: Gurusamy Sarathy
     Subject: Re: "Attempt to free non-existent shared string"? (with patch)
 
     I found a subtle problem with the lazydelete mechanism (which is used
@@ -6960,7 +7270,7 @@ Index: sv.h
 Index: t/base/term.t
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -6970,7 +7280,7 @@ Index: t/base/term.t
 Index: t/comp/package.t
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -6980,7 +7290,7 @@ Index: t/comp/package.t
 Index: t/lib/abbrev.t
 
     Date: Sun, 22 Sep 1996 00:59:56 +0200
-    From: Gisle Aas <aas@aas.no>
+    From: Gisle Aas
     Subject: More standard library test scripts
 
     This is a collection of test scripts for the standard library modules.
@@ -6988,7 +7298,7 @@ Index: t/lib/abbrev.t
     out are applied.
 
     Date: 23 Sep 1996 11:33:01 +0200
-    From: Ulrich Pfeifer <pfeifer@charly.informatik.uni-dortmund.de>
+    From: Ulrich Pfeifer
     Subject: Text::Abbrev (Re: More standard library test scripts)
 
     This patch merges the Text::Abbrev related patches/tests from Gisle
@@ -6997,7 +7307,7 @@ Index: t/lib/abbrev.t
 Index: t/lib/anydbm.t
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -7007,7 +7317,7 @@ Index: t/lib/anydbm.t
 Index: t/lib/autoloader.t
 
     Date: Sun, 22 Sep 1996 00:59:56 +0200
-    From: Gisle Aas <aas@aas.no>
+    From: Gisle Aas
     Subject: More standard library test scripts
 
     This is a collection of test scripts for the standard library modules.
@@ -7015,7 +7325,7 @@ Index: t/lib/autoloader.t
     out are applied.
 
     Date: Mon, 30 Sep 1996 00:54:37 -0400
-    From: Spider Boardman <spider@Orb.Nashua.NH.US>
+    From: Spider Boardman
 
     The test and patches for AutoLoader were also non-functional,
     since the regexp context (curpm) was still being clobbered by the
@@ -7024,7 +7334,7 @@ Index: t/lib/autoloader.t
 Index: t/lib/basename.t
 
     Date: Sun, 22 Sep 1996 00:59:56 +0200
-    From: Gisle Aas <aas@aas.no>
+    From: Gisle Aas
     Subject: More standard library test scripts
 
     This is a collection of test scripts for the standard library modules.
@@ -7032,12 +7342,12 @@ Index: t/lib/basename.t
     out are applied.
 
     Date: Mon, 30 Sep 1996 00:54:37 -0400
-    From: Spider Boardman <spider@Orb.Nashua.NH.US>
+    From: Spider Boardman
 
     Fix the number of tests.
 
     Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT)
-    From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+    From: Charles Bailey
     Subject: VMS patches to 5.003_05
 
     A different set of tests for File::Basename and friends.
@@ -7045,7 +7355,7 @@ Index: t/lib/basename.t
 Index: t/lib/checktree.t
 
     Date: Sun, 22 Sep 1996 00:59:56 +0200
-    From: Gisle Aas <aas@aas.no>
+    From: Gisle Aas
     Subject: More standard library test scripts
 
     This is a collection of test scripts for the standard library modules.
@@ -7064,7 +7374,7 @@ Index: t/lib/complex.t
 Index: t/lib/db-btree.t
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -7074,7 +7384,7 @@ Index: t/lib/db-btree.t
 Index: t/lib/db-hash.t
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -7084,7 +7394,7 @@ Index: t/lib/db-hash.t
 Index: t/lib/env.t
 
     Date: Sun, 22 Sep 1996 00:59:56 +0200
-    From: Gisle Aas <aas@aas.no>
+    From: Gisle Aas
     Subject: More standard library test scripts
 
     This is a collection of test scripts for the standard library modules.
@@ -7094,7 +7404,7 @@ Index: t/lib/env.t
 Index: t/lib/fatal.t
 
     Date: Sun, 22 Sep 1996 00:59:56 +0200
-    From: Gisle Aas <aas@aas.no>
+    From: Gisle Aas
     Subject: More standard library test scripts
 
     This is a collection of test scripts for the standard library modules.
@@ -7104,7 +7414,7 @@ Index: t/lib/fatal.t
 Index: t/lib/filecache.t
 
     Date: Sun, 22 Sep 1996 00:59:56 +0200
-    From: Gisle Aas <aas@aas.no>
+    From: Gisle Aas
     Subject: More standard library test scripts
 
     This is a collection of test scripts for the standard library modules.
@@ -7114,7 +7424,7 @@ Index: t/lib/filecache.t
 Index: t/lib/filecopy.t
 
     Date: Sun, 22 Sep 1996 00:59:56 +0200
-    From: Gisle Aas <aas@aas.no>
+    From: Gisle Aas
     Subject: More standard library test scripts
 
     This is a collection of test scripts for the standard library modules.
@@ -7124,7 +7434,7 @@ Index: t/lib/filecopy.t
 Index: t/lib/filefind.t
 
     Date: Sun, 22 Sep 1996 00:59:56 +0200
-    From: Gisle Aas <aas@aas.no>
+    From: Gisle Aas
     Subject: More standard library test scripts
 
     This is a collection of test scripts for the standard library modules.
@@ -7134,7 +7444,7 @@ Index: t/lib/filefind.t
 Index: t/lib/filepath.t
 
     Date: Sun, 22 Sep 1996 00:59:56 +0200
-    From: Gisle Aas <aas@aas.no>
+    From: Gisle Aas
     Subject: More standard library test scripts
 
     This is a collection of test scripts for the standard library modules.
@@ -7144,7 +7454,7 @@ Index: t/lib/filepath.t
 Index: t/lib/findbin.t
 
     Date: Sun, 22 Sep 1996 00:59:56 +0200
-    From: Gisle Aas <aas@aas.no>
+    From: Gisle Aas
     Subject: More standard library test scripts
 
     This is a collection of test scripts for the standard library modules.
@@ -7154,7 +7464,7 @@ Index: t/lib/findbin.t
 Index: t/lib/gdbm.t
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -7164,7 +7474,7 @@ Index: t/lib/gdbm.t
 Index: t/lib/getopt.t
 
     Date: Sun, 22 Sep 1996 00:59:56 +0200
-    From: Gisle Aas <aas@aas.no>
+    From: Gisle Aas
     Subject: More standard library test scripts
 
     This is a collection of test scripts for the standard library modules.
@@ -7174,7 +7484,7 @@ Index: t/lib/getopt.t
 Index: t/lib/hostname.t
 
     Date: Sun, 22 Sep 1996 00:59:56 +0200
-    From: Gisle Aas <aas@aas.no>
+    From: Gisle Aas
     Subject: More standard library test scripts
 
     This is a collection of test scripts for the standard library modules.
@@ -7184,7 +7494,7 @@ Index: t/lib/hostname.t
 Index: t/lib/ndbm.t
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -7194,7 +7504,7 @@ Index: t/lib/ndbm.t
 Index: t/lib/odbm.t
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -7204,7 +7514,7 @@ Index: t/lib/odbm.t
 Index: t/lib/parsewords.t
 
     Date: Sun, 22 Sep 1996 00:59:56 +0200
-    From: Gisle Aas <aas@aas.no>
+    From: Gisle Aas
     Subject: More standard library test scripts
 
     This is a collection of test scripts for the standard library modules.
@@ -7214,7 +7524,7 @@ Index: t/lib/parsewords.t
 Index: t/lib/sdbm.t
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -7224,7 +7534,7 @@ Index: t/lib/sdbm.t
 Index: t/lib/searchdict.t
 
     Date: Sun, 22 Sep 1996 00:59:56 +0200
-    From: Gisle Aas <aas@aas.no>
+    From: Gisle Aas
     Subject: More standard library test scripts
 
     This is a collection of test scripts for the standard library modules.
@@ -7234,7 +7544,7 @@ Index: t/lib/searchdict.t
 Index: t/lib/selectsaver.t
 
     Date: Sun, 22 Sep 1996 00:59:56 +0200
-    From: Gisle Aas <aas@aas.no>
+    From: Gisle Aas
     Subject: More standard library test scripts
 
     This is a collection of test scripts for the standard library modules.
@@ -7244,7 +7554,7 @@ Index: t/lib/selectsaver.t
 Index: t/lib/symbol.t
 
     Date: Sun, 22 Sep 1996 00:59:56 +0200
-    From: Gisle Aas <aas@aas.no>
+    From: Gisle Aas
     Subject: More standard library test scripts
 
     This is a collection of test scripts for the standard library modules.
@@ -7252,7 +7562,7 @@ Index: t/lib/symbol.t
     out are applied.
 
     Date: Mon, 30 Sep 1996 00:54:37 -0400
-    From: Spider Boardman <spider@Orb.Nashua.NH.US>
+    From: Spider Boardman
 
     The various new lib/*.t tests didn't all work.  For some, it was
     only because the count of tests was wrong:
@@ -7260,7 +7570,7 @@ Index: t/lib/symbol.t
 Index: t/lib/texttabs.t
 
     Date: Sun, 22 Sep 1996 00:59:56 +0200
-    From: Gisle Aas <aas@aas.no>
+    From: Gisle Aas
     Subject: More standard library test scripts
 
     This is a collection of test scripts for the standard library modules.
@@ -7270,7 +7580,7 @@ Index: t/lib/texttabs.t
 Index: t/lib/textwrap.t
 
     Date: Sun, 22 Sep 1996 00:59:56 +0200
-    From: Gisle Aas <aas@aas.no>
+    From: Gisle Aas
     Subject: More standard library test scripts
 
     This is a collection of test scripts for the standard library modules.
@@ -7280,7 +7590,7 @@ Index: t/lib/textwrap.t
 Index: t/lib/timelocal.t
 
     Date: Sun, 22 Sep 1996 00:59:56 +0200
-    From: Gisle Aas <aas@aas.no>
+    From: Gisle Aas
     Subject: More standard library test scripts
 
     This is a collection of test scripts for the standard library modules.
@@ -7290,7 +7600,7 @@ Index: t/lib/timelocal.t
 Index: t/op/each.t
 
     Date: Mon, 30 Sep 1996 01:13:28 -0400
-    From: Spider Boardman <spider@Orb.Nashua.NH.US>
+    From: Spider Boardman
     Subject: Re: pre extending hash? - need speed
 
     The patch below (which is relative to perl5.001l) implements
@@ -7300,7 +7610,7 @@ Index: t/op/each.t
     improved.
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -7310,7 +7620,7 @@ Index: t/op/each.t
 Index: t/op/glob.t
 
     Date: Tue, 01 Oct 1996 16:37:03 -0400 (EDT)
-    From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+    From: Charles Bailey
     Subject: Re: glob test 1 failing...bad test or bug
 
     Under AIX 4.1.4, with LOCALE set en_GB (British english) glob test one
@@ -7322,7 +7632,7 @@ Index: t/op/glob.t
 Index: t/op/magic.t
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -7330,7 +7640,7 @@ Index: t/op/magic.t
 Index: t/op/readdir.t
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -7340,7 +7650,7 @@ Index: t/op/readdir.t
 Index: t/op/sort.t
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -7350,7 +7660,7 @@ Index: t/op/sort.t
 Index: toke.c
 
     Date: Sat, 14 Sep 1996 17:08:16 -0400
-    From: Gurusamy Sarathy <gsar@engin.umich.edu>
+    From: Gurusamy Sarathy
     Subject: whitespace induced lexer errors (with patch)
 
     I finally got around to fixing skipspace() to not indiscriminately
@@ -7358,7 +7668,7 @@ Index: toke.c
     expectation decisions in the lexer).
 
     Date: Sat, 14 Sep 1996 18:55:16 -0400
-    From: Gurusamy Sarathy <gsar@engin.umich.edu>
+    From: Gurusamy Sarathy
     Subject: perl lexer won't accept C<my($a,$b);$a<=>$b;>
 
     Date: Thu, 19 Sep 1996 11:58:22 -0400
@@ -7382,7 +7692,7 @@ Index: toke.c
 Index: util.c
 
     Date: Mon, 7 Oct 1996 22:03:00 +0300
-    From: Jarkko Hietaniemi <jhi@alpha.hut.fi>
+    From: Jarkko Hietaniemi
     Subject: LC_COLLATE.
 
     Big patch to add, document, and test LC_COLLATE support.
@@ -7438,7 +7748,7 @@ Index: utils/h2xs.PL
 Index: utils/perldoc.PL
 
     Date: Sun, 29 Sep 1996 22:00:09 -0400 (EDT)
-    From: Kenneth Albanowski <kjahds@kjahds.com>
+    From: Kenneth Albanowski
     Subject: perldoc patch
 
     Ilya has found that this change makes perldoc much more useful under OS/2.
@@ -7446,31 +7756,31 @@ Index: utils/perldoc.PL
 Index: vms/config.vms
 
     Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT)
-    From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+    From: Charles Bailey
     Subject: VMS patches to 5.003_05
 
 Index: vms/descrip.mms
 
     Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT)
-    From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+    From: Charles Bailey
     Subject: VMS patches to 5.003_05
 
 Index: vms/genconfig.pl
 
     Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT)
-    From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+    From: Charles Bailey
     Subject: VMS patches to 5.003_05
 
 Index: vms/perlvms.pod
 
     Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT)
-    From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+    From: Charles Bailey
     Subject: VMS patches to 5.003_05
 
 Index: vms/vms.c
 
     Date: Thu, 03 Oct 1996 16:31:46 -0400 (EDT)
-    From: Charles Bailey <bailey@HMIVAX.HUMGEN.UPENN.EDU>
+    From: Charles Bailey
     Subject: VMS patches to 5.003_05
 
 Index: x2p/a2p.pod
@@ -7490,9 +7800,10 @@ Index: x2p/s2p.PL
     This patch just changed the old s2p.man page into a pod page.
     I then embedded the pod into the s2p script.
 
-----------------
-Version 5.003_05
-----------------
+
+------------------
+ Version 5.003_05
+------------------
 
 This patch was primarily to fix bugs and to clean up some of
 the remaining issues from in 5.003_04.  The details are described below.
@@ -7545,7 +7856,7 @@ Here are the specific file-by-file changes.
 # The full description is below.
 # Please execute the following commands before applying this patch.
 # (You can feed this patch to 'sh' to do so.)
-#  Andy Dougherty              <doughera@lafcol.lafayette.edu>
+#   -- Andy Dougherty
 
 # We'll create a new test, but patch won't automatically make it
 # executable.
@@ -7568,12 +7879,6 @@ designed so you can examine each change with a command such as
 
        csplit -k perl5.003_05.pat '/^Index:/' '{99}'
 
-Patch and enjoy,
-
-    Andy Dougherty             doughera@lafcol.lafayette.edu
-    Dept. of Physics
-    Lafayette College, Easton PA 18042
-
 Index: Changes
 
     Updated for 5.003_05.
@@ -7643,7 +7948,7 @@ Index: av.h
 
     Subject: turbidity in av.[ch]
     Date: Sun, 10 Dec 1995 00:21:31 -0500
-    From: Gurusamy Sarathy <gsar@engin.umich.edu>
+    From: Gurusamy Sarathy
 
     Some unclean code that I noticed today.
 
@@ -7660,7 +7965,7 @@ Index: config_h.SH
 
 Index: emacs/cperl-mode.el
 
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
     Subject: Newer CPerl-mode
 
 Index: ext/DB_File/DB_File.pm
@@ -7674,14 +7979,14 @@ Index: ext/DB_File/DB_File.xs
 Index: ext/Fcntl/Fcntl.pm
 
     Date: Thu, 5 Sep 1996 18:19:14 -0400 (EDT)
-    From: Chip Salzenberg <salzench@nielsenmedia.com>
+    From: Chip Salzenberg
     Subject: No AutoLoader for Fcntl
 
     Just like Socket, Fcntl doesn't need splitting and AutoLoading.
 
 Index: ext/FileHandle/FileHandle.pm
 
-    From: Roderick Schertler <roderick@gate.net>
+    From: Roderick Schertler
     Subject: FileHandle::DESTROY for fd 0
 
     This fixes FileHandle::DESTROY when called on stdin.
@@ -7702,7 +8007,7 @@ Index: ext/ODBM_File/hints/ultrix.pl
 Index: ext/Socket/Socket.pm
 
     Date: Thu, 5 Sep 1996 09:58:08 +0200
-    From: Andreas Koenig <k@anna.in-berlin.de>
+    From: Andreas Koenig
     Subject: Patch to inhibit autosplit on Socket.pm
 
     This patch inhibits production and use of a completely useless
@@ -7742,14 +8047,14 @@ Index: hints/sunos_4_1.sh
 Index: hv.c
 
     Date: Thu, 05 Sep 1996 00:25:28 -0400
-    From: Gurusamy Sarathy <gsar@engin.umich.edu>
+    From: Gurusamy Sarathy
     Subject: minor misc. cleanup
 
     This patch makes some minor cleanups to the sources.  No change
     in functionality whatsoever.
 
     Date: Thu, 05 Sep 1996 02:52:21 -0400
-    From: Gurusamy Sarathy <gsar@engin.umich.edu>
+    From: Gurusamy Sarathy
 
     Subject: debugger problems--another patch (was Re: 5.003_04)
 
@@ -7855,7 +8160,7 @@ Index: lib/open3.pl
 Index: lib/syslog.pl
 
     Date: Tue, 03 Sep 1996 20:33:54 -0400
-    From: Roderick Schertler <roderick@gate.net>
+    From: Roderick Schertler
     Subject: syslog.pl `use Socket' lossage
 
     syslog.pl tries but fails to use
@@ -7883,7 +8188,7 @@ Index: mg.c
     (lines near 584) Part of VMS changes.  I don't know what this did.
 
     Date: Fri, 23 Aug 1996 17:20:22 -0400 (EDT)
-    From: Chip Salzenberg <salzench@nielsenmedia.com>
+    From: Chip Salzenberg
     Subject: Integerize mg.c; eliminate warning on C< local($)) >
 
     This patch converts magic variables ($!, $^E, etc.) to use integers
@@ -7904,7 +8209,7 @@ Index: nostdio.h
 
 Index: op.c
 
-    From: Gurusamy Sarathy <gsar@engin.umich.edu>
+    From: Gurusamy Sarathy
     Subject: Re: \ ( @array ) busted for lexical @array (once more)
 
 Index: patchlevel.h
@@ -7968,7 +8273,7 @@ Index: pod/perlipc.pod
 
 Index: pod/perlref.pod
 
-    From: Gurusamy Sarathy <gsar@engin.umich.edu>
+    From: Gurusamy Sarathy
     Subject: Re: \ ( @array ) busted for lexical @array (once more)
 
 Index: pod/perltie.pod
@@ -8004,14 +8309,14 @@ Index: pod/perlvar.pod
 Index: pp.c
 
     Date: Fri, 23 Aug 1996 17:22:40 -0400 (EDT)
-    From: Chip Salzenberg <salzench@nielsenmedia.com>
+    From: Chip Salzenberg
     Subject: Minor integer speedups in mathematics
 
     This patch provides minor speedups by using integer math and SVt_IV
     values when performing bitwise operations and modulus.
 
     Date: Tue, 3 Sep 1996 17:49:22 -0400 (EDT)
-    From: Kenneth Albanowski <kjahds@kjahds.com>
+    From: Kenneth Albanowski
     Subject: Pack Patch (was Re: 5.002 - pack/unpack does not do "I" right)
 
     (double)auint cast added for call to sv_setnv().
@@ -8019,7 +8324,7 @@ Index: pp.c
 Index: pp_hot.c
 
     Date: Thu, 05 Sep 1996 00:25:28 -0400
-    From: Gurusamy Sarathy <gsar@engin.umich.edu>
+    From: Gurusamy Sarathy
     Subject: minor misc. cleanup
 
     This patch makes some minor cleanups to the sources.  No change
@@ -8049,7 +8354,7 @@ Index: sv.c
     Perl_debug_log instead.
 
     Date: Fri, 23 Aug 1996 17:26:42 -0400 (EDT)
-    From: Chip Salzenberg <salzench@nielsenmedia.com>
+    From: Chip Salzenberg
     Subject: Minor potential bug in AV creation
 
     I wasn't the one who originated this patch.  But it looks like it
@@ -8107,18 +8412,18 @@ Index: t/op/misc.t
 Index: t/op/pack.t
 
     Date: Tue, 3 Sep 1996 17:49:22 -0400 (EDT)
-    From: Kenneth Albanowski <kjahds@kjahds.com>
+    From: Kenneth Albanowski
     Subject: Pack Patch (was Re: 5.002 - pack/unpack does not do "I" right)
 
 Index: t/op/ref.t
 
-    From: Gurusamy Sarathy <gsar@engin.umich.edu>
+    From: Gurusamy Sarathy
     Subject: Re: \ ( @array ) busted for lexical @array (once more)
 
 Index: universal.c
 
     Date: Thu, 29 Aug 96 07:05:10 BST
-    From: Graham Barr <bodg@tiuk.ti.com>
+    From: Graham Barr
     Subject: Re: UNIVERSAL::class busted
 
     yes, but I also noticed that this does not check that the reference
@@ -8137,7 +8442,7 @@ Index: util.c
 Index: utils/h2xs.PL
 
     Date: Fri, 6 Sep 1996 06:09:20 -0400 (EDT)
-    From: Ilya Zakharevich <ilya@math.ohio-state.edu>
+    From: Ilya Zakharevich
     Subject: updated h2xs
 
     Changes:
@@ -8206,9 +8511,10 @@ Index: vms/vmsish.h
 
     VMS 5.003_05 Update.
 
-----------------
-Version 5.003_04
-----------------
+
+------------------
+ Version 5.003_04
+------------------
 
 This patch was primarily to fix bugs and to clean up some of
 the changes made in 5.003_03.  The details are described below.
@@ -8247,7 +8553,7 @@ Here are the specific file-by-file changes.
 # The full description is below.
 # Please execute the following commands before applying this patch.
 # (You can feed this patch to 'sh' to do so.)
-#  Andy Dougherty              <doughera@lafcol.lafayette.edu>
+#   -- Andy Dougherty
 
 # Obsolete perl4 hint file.
 rm -f hints/dnix.sh
@@ -8275,13 +8581,6 @@ designed so you can examine each change with a command such as
 
        csplit -k perl5.003_04.pat '/^Index:/' '{99}'
 
-Patch and enjoy,
-
-    Andy Dougherty             doughera@lafcol.lafayette.edu
-    Dept. of Physics
-    Lafayette College, Easton PA 18042
-
-
 Index: Changes
 
     Updated for 5.003_04.
@@ -8342,8 +8641,7 @@ Index: config_h.SH
     The /*#define FOO /**/ is a perfectly legal un-nested comment, and
     I wish IBM would fix it's blasted compiler instead.  In the meantime
     we'll take mercy on the poor AIX user and get rid of the screenfulls
-    of stupid warning messages.  Thanks to Hallvard B Furuseth
-    <h.b.furuseth@usit.uio.no> for the fix.
+    of stupid warning messages.  Thanks to Hallvard B Furuseth for the fix.
 
 Index: dump.c
 
@@ -8646,7 +8944,7 @@ Index: sv.c
     reduce code size and improve maintainability by combining some common
     code in gv_fullname() and gv_efullname().
 
-    From: Chip Salzenberg <salzench@nielsenmedia.com>
+    From: Chip Salzenberg
     Subject: Track SVs for destruction when -DPURIFY
 
     When checking for memory leaks, I compiled Perl with "-DPURIFY".
@@ -8738,9 +9036,10 @@ Index: utils/perldoc.PL
     HP-UX nroff -man output.  (col -x isn't portable -- SunOS
     doesn't support the -x option.)
 
-----------------
-Version 5.003_03
-----------------
+
+------------------
+ Version 5.003_03
+------------------
 
 Most of the changes in 5.003_03 are to make the build and installation
 process more robust.  The details are described below.  A very brief
@@ -8775,7 +9074,7 @@ Here are the specific file-by-file changes.
 # The full description is below.
 # Please execute the following commands before applying this patch.
 # (You can feed this patch to 'sh' to do so.)
-#  Andy Dougherty              <doughera@lafcol.lafayette.edu>
+#   -- Andy Dougherty
 
 # Absorbed into Changes5.002
 rm -f Changes.Conf
@@ -8814,12 +9113,6 @@ designed so you can examine each change with a command such as
 
        csplit -k perl5.003_03.pat '/^Index:/' '{99}'
 
-Patch and enjoy,
-
-    Andy Dougherty             doughera@lafcol.lafayette.edu
-    Dept. of Physics
-    Lafayette College, Easton PA 18042
-
 Index: Changes
 
        Include 5.003_03 change notes.
@@ -9355,9 +9648,11 @@ Index: x2p/str.c
 
        Use Configure's FILE_filbuf macro instead of a raw _filbuf.
 
-----------------
-Version 5.003_02
-----------------
+
+------------------
+ Version 5.003_02
+------------------
+
 o Visible Changes to Core Functionality
   - Redefining constant subs, or changing sub's prototype now give warnings.
   - Fixes for ++/-- of values close to max/min size of an integer
@@ -9397,9 +9692,10 @@ o Changes in OS-specific and Build-time Support
   - Applied OS/2 patches.
   - Typo patch for VMS.
 
-----------------
-Version 5.003_01
-----------------
+
+------------------
+ Version 5.003_01
+------------------
 
 Version 5.003_01 contains bugfixes and additions accumulated since
 version 5.002_01, since the patch to version 5.003 was deliberately
index 24fe135..91c8d4a 100644 (file)
--- a/EXTERN.h
+++ b/EXTERN.h
 #  define EXTCONST globalref
 #  define dEXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly
 #else
-#  define EXT extern
-#  define dEXT
-#  define EXTCONST extern const
-#  define dEXTCONST const
+#  if defined(_MSC_VER) && defined(_WIN32)
+#    ifdef PERLDLL
+#      define EXT __declspec(dllexport)
+#      define dEXT 
+#      define EXTCONST __declspec(dllexport) const
+#      define dEXTCONST const
+#    else
+#      define EXT __declspec(dllimport)
+#      define dEXT 
+#      define EXTCONST __declspec(dllimport) const
+#      define dEXTCONST const
+#    endif
+#  else
+#    define EXT extern
+#    define dEXT
+#    define EXTCONST extern const
+#    define dEXTCONST const
+#  endif
 #endif
 
 #undef INIT
index a0585d5..d67c42d 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -40,6 +40,24 @@ dosish.h             Some defines for MS/DOSish machines
 dump.c                 Debugging output
 eg/ADB                 An adb wrapper to put in your crash dir
 eg/README              Intro to example perl scripts
+eg/cgi/RunMeFirst              Setup script for CGI examples
+eg/cgi/clickable_image.cgi     CGI example
+eg/cgi/cookie.cgi              CGI example
+eg/cgi/crash.cgi               CGI example
+eg/cgi/customize.cgi           CGI example
+eg/cgi/diff_upload.cgi         CGI example
+eg/cgi/file_upload.cgi         CGI example
+eg/cgi/frameset.cgi            CGI example
+eg/cgi/index.html              Index page for CGI examples
+eg/cgi/internal_links.cgi      CGI example
+eg/cgi/javascript.cgi          CGI example
+eg/cgi/monty.cgi               CGI example
+eg/cgi/multiple_forms.cgi      CGI example
+eg/cgi/nph-clock.cgi           CGI example
+eg/cgi/popup.cgi               CGI example
+eg/cgi/save_state.cgi          CGI example
+eg/cgi/tryit.cgi               CGI example
+eg/cgi/wilogo.gif.uu           Small image for CGI examples
 eg/changes             A program to list recently changed files
 eg/client              A sample client
 eg/down                        A program to do things to subdirectories
@@ -272,6 +290,7 @@ hints/utekv.sh              Hints for named architecture
 hints/uts.sh           Hints for named architecture
 hv.c                   Hash value code
 hv.h                   Hash value header
+installhtml            Perl script to install html files for pods
 installman             Perl script to install man pages for pods
 installperl            Perl script to do "make install" dirty work
 interp.sym             Interpreter specific symbols to hide in a struct
@@ -282,6 +301,12 @@ lib/AutoLoader.pm  Autoloader base class
 lib/AutoSplit.pm       Split up autoload functions
 lib/Benchmark.pm       Measure execution time
 lib/Bundle/CPAN.pm     The CPAN bundle
+lib/CGI.pm             Web server interface
+lib/CGI/Apache.pm      Web server interface
+lib/CGI/Carp.pm                Web server interface
+lib/CGI/Fast.pm                Web server interface
+lib/CGI/Push.pm                Web server interface
+lib/CGI/Switch.pm      Web server interface
 lib/CPAN.pm            Interface to Comprehensive Perl Archive Network
 lib/CPAN/FirstTime.pm  Utility for creating CPAN config files
 lib/CPAN/Nox.pm                Runs CPAN while avoiding compiled extensions
@@ -332,6 +357,7 @@ lib/Net/netent.pm   By-name interface to Perl's built-in getnet*
 lib/Net/protoent.pm    By-name interface to Perl's built-in getproto*
 lib/Net/servent.pm     By-name interface to Perl's built-in getserv*
 lib/Pod/Functions.pm   used by pod/splitpod
+lib/Pod/Html.pm                Convert POD data to HTML
 lib/Pod/Text.pm                Convert POD data to formatted ASCII text
 lib/Search/Dict.pm     Perform binary search on dictionaries
 lib/SelectSaver.pm     Enforce proper select scoping
@@ -368,9 +394,8 @@ lib/bigint.pl               An arbitrary precision integer arithmetic package
 lib/bigrat.pl          An arbitrary precision rational arithmetic package
 lib/blib.pm            For "use blib"
 lib/cacheout.pl                Manages output filehandles when you need too many
-lib/chat2.inter                A chat2 with interaction
-lib/chat2.pl           Randal's famous expect-ish routines
 lib/complete.pl                A command completion subroutine
+lib/constant.pm                For "use constant"
 lib/ctime.pl           A ctime workalike
 lib/diagnostics.pm     Print verbose diagnostics
 lib/dotsh.pl           Code to "dot" in a shell script
@@ -652,6 +677,7 @@ t/lib/texttabs.t    See if Text::Tabs works
 t/lib/textwrap.t       See if Text::Wrap works
 t/lib/timelocal.t      See if Time::Local works
 t/op/append.t          See if . works
+t/op/arith.t           See if arithmetic works
 t/op/array.t           See if array operations work
 t/op/assignwarn.t      See if OP= operators warn correctly for undef targets
 t/op/auto.t            See if autoincrement et all work
@@ -716,6 +742,7 @@ t/op/universal.t    See if UNIVERSAL class works
 t/op/unshift.t         See if unshift works
 t/op/vec.t             See if vectors work
 t/op/write.t           See if write works
+t/pragma/constant.t    See if compile-time constants work
 t/pragma/locale.t      See if locale support (i18n and l10n) works
 t/pragma/overload.t    See if operator overloading works
 t/pragma/strict-refs   Tests of "use strict 'refs'" for strict.t
@@ -792,8 +819,8 @@ win32/VC-2.0/perl.mak               Win32 port
 win32/VC-2.0/perldll.mak       Win32 port
 win32/VC-2.0/perlglob.mak      Win32 port
 win32/autosplit.pl     Win32 port
-win32/bin/PL2BAT.BAT   Win32 port
 win32/bin/network.pl   Win32 port
+win32/bin/pl2bat.bat   Win32 port
 win32/bin/search.bat   Win32 port
 win32/bin/test.bat     Win32 port
 win32/bin/webget.bat   Win32 port
@@ -814,6 +841,7 @@ win32/makeperldef.pl        Win32 port
 win32/miniperl.mak     Win32 port
 win32/modules.mak      Win32 port
 win32/perl.mak         Win32 port
+win32/perl.rc          Win32 port
 win32/perldll.mak      Win32 port
 win32/perlglob.c       Win32 port
 win32/perlglob.mak     Win32 port
index f160177..fcf4e3d 100755 (executable)
--- a/configpm
+++ b/configpm
@@ -70,8 +70,8 @@ print CONFIG "\n",
 print CONFIG "my \$summary = <<'!END!';\n";
 
 open(MYCONFIG,"<myconfig") || die "open myconfig failed: $!";
-1 while( ($_=<MYCONFIG>) !~ /^Summary of/);
-do { print CONFIG $_ } until ($_ = <MYCONFIG>) =~ /^\s*$/;
+1 while defined($_ = <MYCONFIG>) && !/^Summary of/;
+do { print CONFIG $_ } until !defined($_ = <MYCONFIG>) || /^\s*$/;
 close(MYCONFIG);
 
 print CONFIG "\n!END!\n", <<'EOT';
diff --git a/cop.h b/cop.h
index a569967..72a9483 100644 (file)
--- a/cop.h
+++ b/cop.h
@@ -265,9 +265,10 @@ struct context {
 /* "gimme" values */
 #define G_SCALAR       0
 #define G_ARRAY                1
+#define G_VOID         128     /* skip this bit when adding flags below */
 
 /* extra flags for perl_call_* routines */
 #define G_DISCARD      2       /* Call FREETMPS. */
 #define G_EVAL         4       /* Assume eval {} around subroutine call. */
 #define G_NOARGS       8       /* Don't construct a @_ array. */
-#define G_KEEPERR      16      /* Append errors to $@ rather than overwriting it */
+#define G_KEEPERR      16      /* Append errors to $@, don't overwrite it */
diff --git a/doop.c b/doop.c
index a87f7ef..400934d 100644 (file)
--- a/doop.c
+++ b/doop.c
@@ -649,6 +649,7 @@ dARGS
     HV *hv = (HV*)POPs;
     register HE *entry;
     SV *tmpstr;
+    I32 gimme = GIMME_V;
     I32 dokeys =   (op->op_type == OP_KEYS);
     I32 dovalues = (op->op_type == OP_VALUES);
 
@@ -667,10 +668,10 @@ dARGS
 
     (void)hv_iterinit(hv);     /* always reset iterator regardless */
 
-    if (op->op_private & OPpLEAVE_VOID)
+    if (gimme == G_VOID)
        RETURN;
 
-    if (GIMME != G_ARRAY) {
+    if (gimme == G_SCALAR) {
        I32 i;
        dTARGET;
 
diff --git a/dump.c b/dump.c
index af75cf7..e74c8c4 100644 (file)
--- a/dump.c
+++ b/dump.c
@@ -131,14 +131,20 @@ register OP *op;
 #endif
     if (op->op_flags) {
        *buf = '\0';
-       if (op->op_flags & OPf_KNOW) {
-           if (op->op_flags & OPf_LIST)
-               (void)strcat(buf,"LIST,");
-           else
-               (void)strcat(buf,"SCALAR,");
-       }
-       else
+       switch (op->op_flags & OPf_WANT) {
+       case OPf_WANT_VOID:
+           (void)strcat(buf,"VOID,");
+           break;
+       case OPf_WANT_SCALAR:
+           (void)strcat(buf,"SCALAR,");
+           break;
+       case OPf_WANT_LIST:
+           (void)strcat(buf,"LIST,");
+           break;
+       default:
            (void)strcat(buf,"UNKNOWN,");
+           break;
+       }
        if (op->op_flags & OPf_KIDS)
            (void)strcat(buf,"KIDS,");
        if (op->op_flags & OPf_PARENS)
diff --git a/eg/cgi/RunMeFirst b/eg/cgi/RunMeFirst
new file mode 100644 (file)
index 0000000..c96d79e
--- /dev/null
@@ -0,0 +1,29 @@
+#!/usr/local/bin/perl
+
+# Make a world-writeable directory for saving state.
+$ww = 'WORLD_WRITABLE';
+unless (-w $ww) {
+    $u = umask 0;
+    mkdir $ww, 0777;
+    umask $u;
+}
+
+# Decode the sample image.
+for $bin (qw(wilogo.gif)) {
+    unless (open UU, "$bin.uu") { warn "Can't open $bin.uu: $!\n"; next }
+    unless (open BIN, "> $bin") { warn "Can't create $bin: $!\n"; next }
+    $_ = <UU>;
+    while (<UU>) {
+       chomp;
+       last if /^end/;
+       print BIN unpack "u", $_;
+    }
+    close BIN;
+    close UU;
+}
+
+# Create symlinks from *.txt to *.cgi for documentation purposes.
+foreach (<*.cgi>) {
+    ($target = $_) =~ s/cgi$/txt/;
+    symlink $_, $target unless -e $target;
+}
diff --git a/eg/cgi/clickable_image.cgi b/eg/cgi/clickable_image.cgi
new file mode 100644 (file)
index 0000000..81daf09
--- /dev/null
@@ -0,0 +1,26 @@
+#!/usr/local/bin/perl
+
+use CGI;
+$query = new CGI;
+print $query->header;
+print $query->start_html("A Clickable Image");
+print <<END;
+<H1>A Clickable Image</H1>
+</A>
+END
+print "Sorry, this isn't very exciting!\n";
+
+print $query->startform;
+print $query->image_button('picture',"./wilogo.gif");
+print "Give me a: ",$query->popup_menu('letter',['A','B','C','D','E','W']),"\n"; # 
+print "<P>Magnification: ",$query->radio_group('magnification',['1X','2X','4X','20X']),"\n";
+print "<HR>\n";
+
+if ($query->param) {
+    print "<P>Magnification, <EM>",$query->param('magnification'),"</EM>\n";
+    print "<P>Selected Letter, <EM>",$query->param('letter'),"</EM>\n";
+    ($x,$y) = ($query->param('picture.x'),$query->param('picture.y'));
+    print "<P>Selected Position <EM>($x,$y)</EM>\n";
+}
+
+print $query->end_html;
diff --git a/eg/cgi/cookie.cgi b/eg/cgi/cookie.cgi
new file mode 100644 (file)
index 0000000..98adda1
--- /dev/null
@@ -0,0 +1,88 @@
+#!/usr/local/bin/perl
+
+use CGI qw(:standard);
+
+@ANIMALS=sort qw/lion tiger bear pig porcupine ferret zebra gnu ostrich
+    emu moa goat weasel yak chicken sheep hyena dodo lounge-lizard
+    squirrel rat mouse hedgehog racoon baboon kangaroo hippopotamus
+    giraffe/;
+
+# Recover the previous animals from the magic cookie.
+# The cookie has been formatted as an associative array
+# mapping animal name to the number of animals.
+%zoo = cookie('animals');
+
+# Recover the new animal(s) from the parameter 'new_animal'
+@new = param('new_animals');
+
+# If the action is 'add', then add new animals to the zoo.  Otherwise
+# delete them.
+foreach (@new) {
+    if (param('action') eq 'Add') {
+       $zoo{$_}++;
+    } elsif (param('action') eq 'Delete') {
+       $zoo{$_}-- if $zoo{$_};
+       delete $zoo{$_} unless $zoo{$_};
+    }
+}
+
+# Add new animals to old, and put them in a cookie
+$the_cookie = cookie(-name=>'animals',
+                    -value=>\%zoo,
+                    -expires=>'+1h');
+
+# Print the header, incorporating the cookie and the expiration date...
+print header(-cookie=>$the_cookie);
+
+# Now we're ready to create our HTML page.
+print start_html('Animal crackers');
+
+print <<EOF;
+<h1>Animal Crackers</h1>
+Choose the animals you want to add to the zoo, and click "add".
+Come back to this page any time within the next hour and the list of 
+animals in the zoo will be resurrected.  You can even quit Netscape
+completely!
+<p>
+Try adding the same animal several times to the list.  Does this
+remind you vaguely of a shopping cart?
+<p>
+<em>This script only works with Netscape browsers</em>
+<p>
+<center>
+<table border>
+<tr><th>Add/Delete<th>Current Contents
+EOF
+    ;
+
+print "<tr><td>",start_form;
+print scrolling_list(-name=>'new_animals',
+                    -values=>[@ANIMALS],
+                    -multiple=>1,
+                    -override=>1,
+                    -size=>10),"<br>";
+print submit(-name=>'action',-value=>'Delete'),
+    submit(-name=>'action',-value=>'Add');
+print end_form;
+
+print "<td>";
+if (%zoo) {                    # make a table
+    print "<ul>\n";
+    foreach (sort keys %zoo) {
+       print "<li>$zoo{$_} $_\n";
+    }
+    print "</ul>\n";
+} else {
+    print "<strong>The zoo is empty.</strong>\n";
+}
+print "</table></center>";
+
+print <<EOF;
+<hr>
+<ADDRESS>Lincoln D. Stein</ADDRESS><BR>
+<A HREF="./">More Examples</A>
+EOF
+    ;
+print end_html;
+
+
diff --git a/eg/cgi/crash.cgi b/eg/cgi/crash.cgi
new file mode 100644 (file)
index 0000000..64f03c7
--- /dev/null
@@ -0,0 +1,6 @@
+#!/usr/local/bin/perl
+
+use CGI::Carp qw(fatalsToBrowser);
+
+# This line invokes a fatal error message at compile time.
+foo bar baz;
diff --git a/eg/cgi/customize.cgi b/eg/cgi/customize.cgi
new file mode 100644 (file)
index 0000000..d932f4b
--- /dev/null
@@ -0,0 +1,92 @@
+#!/usr/local/bin/perl
+
+use CGI qw(:standard :html3);
+
+# Some constants to use in our form.
+@colors=qw/aqua black blue fuschia gray green lime maroon navy olive
+    purple red silver teal white yellow/;
+@sizes=("<default>",1..7);
+
+# recover the "preferences" cookie.
+%preferences = cookie('preferences');
+
+# If the user wants to change the background color or her
+# name, they will appear among our CGI parameters.
+foreach ('text','background','name','size') {
+    $preferences{$_} = param($_) || $preferences{$_};
+}
+
+# Set some defaults
+$preferences{'background'} = $preferences{'background'} || 'silver';
+$preferences{'text'} = $preferences{'text'} || 'black';
+
+# Refresh the cookie so that it doesn't expire.  This also
+# makes any changes the user made permanent.
+$the_cookie = cookie(-name=>'preferences',
+                        -value=>\%preferences,
+                        -expires=>'+30d');
+print header(-cookie=>$the_cookie);
+
+# Adjust the title to incorporate the user's name, if provided.
+$title = $preferences{'name'} ? 
+    "Welcome back, $preferences{name}!" : "Customizable Page";
+
+# Create the HTML page.  We use several of Netscape's
+# extended tags to control the background color and the
+# font size.  It's safe to use Netscape features here because
+# cookies don't work anywhere else anyway.
+print start_html(-title=>$title,
+                -bgcolor=>$preferences{'background'},
+                -text=>$preferences{'text'}
+                );
+
+print basefont({SIZE=>$preferences{size}}) if $preferences{'size'} > 0;
+
+print h1($title),<<END;
+You can change the appearance of this page by submitting
+the fill-out form below.  If you return to this page any time
+within 30 days, your preferences will be restored.
+END
+    ;
+
+# Create the form
+print hr(),
+    start_form,
+    
+    "Your first name: ",
+    textfield(-name=>'name',
+             -default=>$preferences{'name'},
+             -size=>30),br,
+    
+    table(
+         TR(
+            td("Preferred"),
+            td("Page color:"),
+            td(popup_menu(-name=>'background',
+                          -values=>\@colors,
+                          -default=>$preferences{'background'})
+               ),
+            ),
+         TR(
+            td(''),
+            td("Text color:"),
+            td(popup_menu(-name=>'text',
+                          -values=>\@colors,
+                          -default=>$preferences{'text'})
+               )
+            ),
+         TR(
+            td(''),
+            td("Font size:"),
+            td(popup_menu(-name=>'size',
+                          -values=>\@sizes,
+                          -default=>$preferences{'size'})
+               )
+            )
+         ),
+
+    submit(-label=>'Set preferences'),
+    hr;
+          
+print a({HREF=>"/"},'Go to the home page');
+
diff --git a/eg/cgi/diff_upload.cgi b/eg/cgi/diff_upload.cgi
new file mode 100644 (file)
index 0000000..913f9ca
--- /dev/null
@@ -0,0 +1,68 @@
+#!/usr/local/bin/perl
+
+$DIFF = "/usr/bin/diff";
+$PERL = "/usr/bin/perl";
+
+use CGI qw(:standard);
+use CGI::Carp;
+
+print header;
+print start_html("File Diff Example");
+print "<strong>Version </strong>$CGI::VERSION<p>";
+
+print <<EOF;
+<H1>File Diff Example</H1>
+Enter two files.  When you press "submit" their diff will be
+produced.
+EOF
+    ;
+
+# Start a multipart form.
+print start_multipart_form;
+print "File #1:",filefield(-name=>'file1',-size=>45),"<BR>\n";
+print "File #2:",filefield(-name=>'file2',-size=>45),"<BR>\n";
+print "Diff type: ",radio_group(-name=>'type',
+                                       -value=>['context','normal']),"<br>\n";
+print reset,submit(-name=>'submit',-value=>'Do Diff');
+print endform;
+
+# Process the form if there is a file name entered
+$file1 = param('file1');
+$file2 = param('file2');
+
+$|=1;                          # for buffering
+if ($file1 && $file2) {
+    $realfile1 = tmpFileName($file1);
+    $realfile2 = tmpFileName($file2);
+    print "<HR>\n";
+    print "<H2>$file1 vs $file2</H2>\n";
+
+    print "<PRE>\n";
+    $options = "-c" if param('type') eq 'context';
+    system "$DIFF $options $realfile1 $realfile2 | $PERL -pe 's/>/&gt;/g; s/</&lt;/g;'";
+    close $file1;
+    close $file2;
+    print "</PRE>\n";
+}
+
+print <<EOF;
+<HR>
+<A HREF="../cgi_docs.html">CGI documentation</A>
+<HR>
+<ADDRESS>
+<A HREF="/~lstein">Lincoln D. Stein</A>
+</ADDRESS><BR>
+Last modified 17 July 1996
+EOF
+    ;
+print end_html;
+
+sub sanitize {
+    my $name = shift;
+    my($safe) = $name=~/([a-zA-Z0-9._~#,]+)/;
+    unless ($safe) {
+       print "<strong>$name is not a valid Unix filename -- sorry</strong>";
+       exit 0;
+    }
+    return $safe;
+}
diff --git a/eg/cgi/file_upload.cgi b/eg/cgi/file_upload.cgi
new file mode 100644 (file)
index 0000000..1f9eaec
--- /dev/null
@@ -0,0 +1,63 @@
+#!/usr/local/bin/perl
+
+use CGI qw(:standard);
+use CGI::Carp;
+
+print header();
+print start_html("File Upload Example");
+print strong("Version "),$CGI::VERSION,p;
+
+print h1("File Upload Example"),
+    'This example demonstrates how to prompt the remote user to
+    select a remote file for uploading. ',
+    strong("This feature only works with Netscape 2.0 browsers."),
+    p,
+    'Select the ',cite('browser'),' button to choose a text file
+    to upload.  When you press the submit button, this script
+    will count the number of lines, words, and characters in
+    the file.';
+
+@types = ('count lines','count words','count characters');
+
+# Start a multipart form.
+print start_multipart_form(),
+    "Enter the file to process:",
+    filefield('filename','',45),
+    br,
+    checkbox_group('count',\@types,\@types),
+    p,
+    reset,submit('submit','Process File'),
+    endform;
+
+# Process the form if there is a file name entered
+if ($file = param('filename')) {
+    $tmpfile=tmpFileName($file);
+    print hr(),
+          h2($file),
+          h3($tmpfile);
+    my($lines,$words,$characters,@words) = (0,0,0,0);
+    while (<$file>) {
+       $lines++;
+       $words += @words=split(/\s+/);
+       $characters += length($_);
+    }
+    close $file;
+    grep($stats{$_}++,param('count'));
+    if (%stats) {
+       print strong("Lines: "),$lines,br if $stats{'count lines'};
+       print strong("Words: "),$words,br if $stats{'count words'};
+       print strong("Characters: "),$characters,br if $stats{'count characters'};
+    } else {
+       print strong("No statistics selected.");
+    }
+}
+
+print hr(),
+    a({href=>"../cgi_docs.html"},"CGI documentation"),
+    hr,
+    address(
+           a({href=>'/~lstein'},"Lincoln D. Stein")),
+    br,
+    'Last modified July 17, 1996',
+    end_html;
+
diff --git a/eg/cgi/frameset.cgi b/eg/cgi/frameset.cgi
new file mode 100644 (file)
index 0000000..ff73026
--- /dev/null
@@ -0,0 +1,81 @@
+#!/usr/local/bin/perl
+
+use CGI;
+$query = new CGI;
+print $query->header;
+$TITLE="Frameset Example";
+
+# We use the path information to distinguish between calls
+# to the script to:
+# (1) create the frameset
+# (2) create the query form
+# (3) create the query response
+
+$path_info = $query->path_info;
+
+# If no path information is provided, then we create 
+# a side-by-side frame set
+if (!$path_info) {
+    &print_frameset;
+    exit 0;
+}
+
+# If we get here, then we either create the query form
+# or we create the response.
+&print_html_header;
+&print_query if $path_info=~/query/;
+&print_response if $path_info=~/response/;
+&print_end;
+
+
+# Create the frameset
+sub print_frameset {
+    $script_name = $query->script_name;
+    print <<EOF;
+<html><head><title>$TITLE</title></head>
+<frameset cols="50,50">
+<frame src="$script_name/query" name="query">
+<frame src="$script_name/response" name="response">
+</frameset>
+EOF
+    ;
+    exit 0;
+}
+
+sub print_html_header {
+    print $query->start_html($TITLE);
+}
+
+sub print_end {
+    print qq{<P><hr><A HREF="cgi_docs.html">Go to the documentation</A>};
+    print $query->end_html;
+}
+
+sub print_query {
+    $script_name = $query->script_name;
+    print "<H1>Frameset Query</H1>\n";
+    print $query->startform(-action=>"$script_name/response",-TARGET=>"response");
+    print "What's your name? ",$query->textfield('name');
+    print "<P>What's the combination?<P>",
+    $query->checkbox_group(-name=>'words',
+                              -values=>['eenie','meenie','minie','moe']);
+
+    print "<P>What's your favorite color? ",
+    $query->popup_menu(-name=>'color',
+                      -values=>['red','green','blue','chartreuse']),
+    "<P>";
+    print $query->submit;
+    print $query->endform;
+}
+
+sub print_response {
+    print "<H1>Frameset Result</H1>\n";
+    unless ($query->param) {
+       print "<b>No query submitted yet.</b>";
+       return;
+    }
+    print "Your name is <EM>",$query->param(name),"</EM>\n";
+    print "<P>The keywords are: <EM>",join(", ",$query->param(words)),"</EM>\n";
+    print "<P>Your favorite color is <EM>",$query->param(color),"</EM>\n";
+}
+
diff --git a/eg/cgi/index.html b/eg/cgi/index.html
new file mode 100644 (file)
index 0000000..9eafd5f
--- /dev/null
@@ -0,0 +1,111 @@
+<HTML> <HEAD>
+<TITLE>More Examples of Scripts Created with CGI.pm</TITLE>
+</HEAD>
+
+<BODY>
+<H1>More Examples of Scripts Created with CGI.pm</H1>
+
+<H2> Basic Non Sequitur Questionnaire</H2>
+<UL>
+  <LI> <A HREF="tryit.cgi">Try the script</A>
+  <LI> <A HREF="tryit.txt">Look at its source code</A>
+</UL>
+
+<H2> Advanced Non Sequitur Questionnaire</H2>
+<UL>
+  <LI> <A HREF="monty.cgi">Try the script</A>
+  <LI> <A HREF="monty.txt">Look at its source code</A>
+</UL>
+
+<H2> Save and restore the state of a form to a file</H2>
+<UL>
+  <LI> <A HREF="save_state.cgi">Try the script</A>
+  <LI> <A HREF="save_state.txt">Look at its source code</A>
+</UL>
+
+<H2> Read the coordinates from a clickable image map</H2>
+<UL>
+  <LI> <A HREF="clickable_image.cgi">Try the script</A>
+  <LI> <A HREF="clickable_image.txt">Look at its source code</A>
+</UL>
+
+<H2> Multiple independent forms on the same page</H2>
+<UL>
+  <LI> <A HREF="multiple_forms.cgi">Try the script</A>
+  <LI> <A HREF="multiple_forms.txt">Look at its source code</A>
+</UL>
+
+<H2> How to maintain state on a page with internal links</H2>
+<UL>
+  <LI> <A HREF="internal_links.cgi">Try the script</A>
+  <LI> <A HREF="internal_links.txt">Look at its source code</A>
+</UL>
+
+<h2>Echo fatal script errors to the browser</h2>
+<ul>
+  <li><a href="crash.cgi">Try the script</a>
+  <li><a href="crash.txt">Look at its source code</a>
+</ul>
+
+<EM>The Following Scripts only Work with Netscape 2.0 & Internet Explorer only!</EM>
+
+<H2> Prompt for a file to upload and process it</H2>
+<UL>
+  <LI> <A HREF="file_upload.cgi">Try the script</A>
+  <LI> <A HREF="file_upload.txt">Look at its source code</A>
+</UL>
+
+<h2> A Continuously-Updated Page using Server Push</h2>
+<ul>
+  <li><a href="nph-clock.cgi">Try the script</a>
+  <li><a href="nph-clock.txt">Look at its source code</a>
+</ul>
+
+<h2>Compute the "diff" between two uploaded files</h2>
+<ul>
+  <li><a href="diff_upload.cgi">Try the script</a>
+  <li><a href="diff_upload.txt">Look at its source code</a>
+</ul>
+
+<h2>Maintain state over a long period with a cookie</h2>
+<ul>
+  <li><a href="cookie.cgi">Try the script</a>
+  <li><a href="cookie.txt">Look at its source code</a>
+</ul>
+
+<h2>Permanently customize the appearance of a page</h2>
+<ul>
+  <li><a href="customize.cgi">Try the script</a>
+  <li><a href="customize.txt">Look at its source code</a>
+</ul>
+
+<h2> Popup the response in a new window</h2>
+<ul>
+  <li><a href="popup.cgi">Try the script</a>
+  <li><a href="popup.txt">Look at its source code</a>
+</ul>
+
+<h2> Side-by-side form and response using frames</h2>
+<ul>
+  <li><a href="frameset.cgi">Try the script</a>
+  <li><a href="frameset.txt">Look at its source code</a>
+</ul>
+
+<h2>Verify the Contents of a fill-out form with JavaScript</h2>
+<ul>
+  <li><a href="javascript.cgi">Try the script</a>
+  <li><a href="javascript.txt">Look at its source code</a>
+</ul>
+
+<HR>
+<MENU>
+  <LI> <A HREF="../cgi_docs.html">CGI.pm documentation</A>
+  <LI> <A HREF="../CGI.pm.tar.gz">Download the CGI.pm distribution</A>
+</MENU>
+<HR>
+<ADDRESS>Lincoln D. Stein, lstein@genome.wi.mit.edu<br>
+<a href="/">Whitehead Institute/MIT Center for Genome Research</a></ADDRESS>
+<!-- hhmts start -->
+Last modified: Mon Dec  2 06:23:25 EST 1996
+<!-- hhmts end -->
+</BODY> </HTML>
diff --git a/eg/cgi/internal_links.cgi b/eg/cgi/internal_links.cgi
new file mode 100644 (file)
index 0000000..4806966
--- /dev/null
@@ -0,0 +1,33 @@
+#!/usr/local/bin/perl
+
+use CGI;
+$query = new CGI;
+
+# We generate a regular HTML file containing a very long list
+# and a popup menu that does nothing except to show that we
+# don't lose the state information.
+print $query->header;
+print $query->start_html("Internal Links Example");
+print "<H1>Internal Links Example</H1>\n";
+print "Click <cite>Submit Query</cite> to create a state.  Then scroll down and",
+    " click on any of the <cite>Jump to top</cite> links.  This is not very exciting.";
+
+print "<A NAME=\"start\"></A>\n"; # an anchor point at the top
+
+# pick a default starting value;
+$query->param('amenu','FOO1') unless $query->param('amenu');
+
+print $query->startform;
+print $query->popup_menu('amenu',[('FOO1'..'FOO9')]);
+print $query->submit,$query->endform;
+
+# We create a long boring list for the purposes of illustration.
+$myself = $query->self_url;
+print "<OL>\n";
+for (1..100) {
+    print qq{<LI>List item #$_ <A HREF="$myself#start">Jump to top</A>\n};
+}
+print "</OL>\n";
+
+print $query->end_html;
+
diff --git a/eg/cgi/javascript.cgi b/eg/cgi/javascript.cgi
new file mode 100644 (file)
index 0000000..20496c0
--- /dev/null
@@ -0,0 +1,105 @@
+#!/usr/local/bin/perl
+
+# This script illustrates how to use JavaScript to validage fill-out
+# forms.
+use CGI qw(:standard);
+
+# Here's the javascript code that we include in the document.
+$JSCRIPT=<<EOF;
+    // validate that the user is the right age.  Return
+    // false to prevent the form from being submitted.
+    function validateForm() {
+       var today = new Date();
+       var birthday = validateDate(document.form1.birthdate);
+       if (birthday == 0) {
+           document.form1.birthdate.focus()
+           document.form1.birthdate.select();
+           return false;
+       }
+       var milliseconds = today.getTime()-birthday;
+       var years = milliseconds/(1000 * 60 * 60 * 24 * 365.25);
+       if ((years > 20) || (years < 5)) {
+           alert("You must be between the ages of 5 and 20 to submit this form");
+           document.form1.birthdate.focus();
+           document.form1.birthdate.select();
+           return false;
+       }
+       // Since we've calculated the age in years already,
+       // we might as well send it up to our CGI script.
+       document.form1.age.value=Math.floor(years);
+       return true;
+    }
+
+   // make sure that the contents of the supplied
+   // field contain a valid date.
+   function validateDate(element) {
+       var date = Date.parse(element.value);
+       if (0 == date) { 
+          alert("Please enter date in format MMM DD, YY");
+          element.focus();
+          element.select();
+       }
+       return date;
+   }
+
+   // Compliments, compliments
+    function doPraise(element) {
+       if (element.checked) {
+           self.status=element.value + " is an excellent choice!";
+           return true;
+       } else {
+           return false;
+       }
+    }
+
+    function checkColor(element) {
+       var color = element.options[element.selectedIndex].text;
+       if (color == "blonde") {
+           if (confirm("Is it true that blondes have more fun?"))
+               alert("Darn.  That leaves me out.");
+       } else
+           alert(color + " is a fine choice!");
+    }
+EOF
+    ;
+
+# here's where the execution begins
+print header;
+print start_html(-title=>'Personal Profile',-script=>$JSCRIPT);
+
+print h1("Big Brother Wants to Know All About You"),
+    strong("Note: "),"This page uses JavaScript and requires",
+    "Netscape 2.0 or higher to do anything special.";
+
+&print_prompt();
+print hr;
+&print_response() if param;
+print end_html;
+
+sub print_prompt {
+    print start_form(-name=>'form1',
+                    -onSubmit=>"return validateForm()"),"\n";
+    print "Birthdate (e.g. Jan 3, 1972): ", 
+          textfield(-name=>'birthdate',
+                       -onBlur=>"validateDate(this)"),"<p>\n";
+    print "Sex: ",radio_group(-name=>'gender',
+                                 -value=>[qw/male female/],
+                                 -onClick=>"doPraise(this)"),"<p>\n";
+    print "Hair color: ",popup_menu(-name=>'color',
+                                       -value=>[qw/brunette blonde red gray/],
+                                       -default=>'red',
+                                       -onChange=>"checkColor(this)"),"<p>\n";
+    print hidden(-name=>'age',-value=>0);
+    print submit();
+    print end_form;
+}
+
+sub print_response {
+    import_names('Q');
+    print h2("Your profile"),
+       "You are a ",b($Q::age)," year old ",b($Q::color,$Q::gender),".",
+       "You should be ashamed of yourself for lying so ",
+       "blatantly to big brother!",
+       hr;
+}
+
diff --git a/eg/cgi/monty.cgi b/eg/cgi/monty.cgi
new file mode 100644 (file)
index 0000000..b7c0f6a
--- /dev/null
@@ -0,0 +1,83 @@
+#!/usr/local/bin/perl
+     
+use CGI;
+$query = new CGI;
+
+print $query->header;
+print $query->start_html("Example CGI.pm Form");
+print "<H1> Example CGI.pm Form</H1>\n";
+&print_prompt($query);
+&do_work($query);
+&print_tail;
+print $query->end_html;
+sub print_prompt {
+   my($query) = @_;
+   print $query->start_multipart_form;
+   print "<EM>What's your name?</EM><BR>";
+   print $query->textfield('name');
+   print $query->checkbox('Not my real name');
+   print "<P><EM>Where can you find English Sparrows?</EM><BR>";
+   print $query->checkbox_group(
+                               -name=>'Sparrow locations',
+                               -values=>[England,France,Spain,Asia,Hoboken],
+                               -linebreak=>'yes',
+                               -defaults=>[England,Asia]);
+   print "<P><EM>How far can they fly?</EM><BR>",
+   $query->radio_group(
+                      -name=>'how far',
+                      -values=>['10 ft','1 mile','10 miles','real far'],
+                      -default=>'1 mile');
+   
+   print "<P><EM>What's your favorite color?</EM>  ";
+   print $query->popup_menu(-name=>'Color',
+                           -values=>['black','brown','red','yellow'],
+                           -default=>'red');
+   print $query->hidden('Reference','Monty Python and the Holy Grail');
+   print "<P><EM>What have you got there?</EM><BR>";
+   print $query->scrolling_list(
+                               -name=>'possessions',
+                               -values=>['A Coconut','A Grail','An Icon',
+                                         'A Sword','A Ticket'],
+                               -size=>5,
+                               -multiple=>'true');
+   print "<P><EM>Any parting comments?</EM><BR>";
+   print $query->textarea(-name=>'Comments',
+                         -rows=>10,
+                         -columns=>50);
+   
+   print "<P>",$query->reset;
+   print $query->submit('Action','Shout');
+   print $query->submit('Action','Scream');
+   print $query->endform;
+   print "<HR>\n";
+       }
+sub do_work {
+    my($query) = @_;
+    my(@values,$key);
+
+    print "<H2>Here are the current settings in this form</H2>";
+
+    foreach $key ($query->param) {
+       print "<STRONG>$key</STRONG> -> ";
+       @values = $query->param($key);
+       print join(", ",@values),"<BR>\n";
+    }
+}
+sub print_tail {
+    print <<END;
+<HR>
+<ADDRESS>Lincoln D. Stein</ADDRESS><BR>
+<A HREF="/">Home Page</A>
+END
+    ;
+}
diff --git a/eg/cgi/multiple_forms.cgi b/eg/cgi/multiple_forms.cgi
new file mode 100644 (file)
index 0000000..b38bf93
--- /dev/null
@@ -0,0 +1,54 @@
+#!/usr/local/bin/perl
+
+use CGI;
+
+$query = new CGI;
+print $query->header;
+print $query->start_html('Multiple Forms');
+print "<H1>Multiple Forms</H1>\n";
+
+# Print the first form
+print $query->startform;
+$name = $query->remote_user || 'anonymous@' . $query->remote_host;
+
+print "What's your name? ",$query->textfield('name',$name,50);
+print "<P>What's the combination?<P>",
+        $query->checkbox_group('words',['eenie','meenie','minie','moe']);
+print "<P>What's your favorite color? ",
+        $query->popup_menu('color',['red','green','blue','chartreuse']),
+       "<P>";
+print $query->submit('form_1','Send Form 1');
+print $query->endform;
+
+# Print the second form
+print "<HR>\n";
+print $query->startform;
+print "Some radio buttons: ",$query->radio_group('radio buttons',
+                                                [qw{one two three four five}],'three'),"\n";
+print "<P>What's the password? ",$query->password_field('pass','secret');
+print $query->defaults,$query->submit('form_2','Send Form 2'),"\n";
+print $query->endform;
+
+print "<HR>\n";
+
+$query->import_names('Q');
+if ($Q::form_1) {
+    print "<H2>Form 1 Submitted</H2>\n";
+    print "Your name is <EM>$Q::name</EM>\n";
+    print "<P>The combination is: <EM>{",join(",",@Q::words),"}</EM>\n";
+    print "<P>Your favorite color is <EM>$Q::color</EM>\n";
+} elsif ($Q::form_2) {
+    print <<EOF;
+<H2>Form 2 Submitted</H2>
+<P>The value of the radio buttons is <EM>$Q::radio_buttons</EM>
+<P>The secret password is <EM>$Q::pass</EM>
+EOF
+    ;
+}
+print qq{<P><A HREF="./">Other examples</A>};
+print qq{<P><A HREF="../cgi_docs.html">Go to the documentation</A>};
+
+print $query->end_html;
+
+
+
diff --git a/eg/cgi/nph-clock.cgi b/eg/cgi/nph-clock.cgi
new file mode 100644 (file)
index 0000000..55a2fbe
--- /dev/null
@@ -0,0 +1,18 @@
+#!/usr/local/bin/perl -w
+
+use CGI::Push qw(:standard :html3);
+
+do_push(-next_page=>\&draw_time,-delay=>1);
+
+sub draw_time {
+    my $time = `/bin/date`;
+    return start_html('Tick Tock'),
+           div({-align=>CENTER},
+              h1('Virtual Clock'),
+              h2($time)
+              ),
+          hr,
+          a({-href=>'index.html'},'More examples'),
+           end_html();
+}
+
diff --git a/eg/cgi/popup.cgi b/eg/cgi/popup.cgi
new file mode 100644 (file)
index 0000000..88cea1d
--- /dev/null
@@ -0,0 +1,32 @@
+#!/usr/local/bin/perl
+
+use CGI;
+$query = new CGI;
+print $query->header;
+print $query->start_html('Popup Window');
+
+
+if (!$query->param) {
+    print "<H1>Ask your Question</H1>\n";
+    print $query->startform(-target=>'_new');
+    print "What's your name? ",$query->textfield('name');
+    print "<P>What's the combination?<P>",
+    $query->checkbox_group(-name=>'words',
+                          -values=>['eenie','meenie','minie','moe'],
+                          -defaults=>['eenie','moe']);
+
+    print "<P>What's your favorite color? ",
+    $query->popup_menu(-name=>'color',
+                      -values=>['red','green','blue','chartreuse']),
+    "<P>";
+    print $query->submit;
+    print $query->endform;
+
+} else {
+    print "<H1>And the Answer is...</H1>\n";
+    print "Your name is <EM>",$query->param(name),"</EM>\n";
+    print "<P>The keywords are: <EM>",join(", ",$query->param(words)),"</EM>\n";
+    print "<P>Your favorite color is <EM>",$query->param(color),"</EM>\n";
+}
+print qq{<P><A HREF="cgi_docs.html">Go to the documentation</A>};
+print $query->end_html;
diff --git a/eg/cgi/save_state.cgi b/eg/cgi/save_state.cgi
new file mode 100644 (file)
index 0000000..be79051
--- /dev/null
@@ -0,0 +1,67 @@
+#!/usr/local/bin/perl
+
+use CGI;
+$query = new CGI;
+
+print $query->header;
+print $query->start_html("Save and Restore Example");
+print "<H1>Save and Restore Example</H1>\n";
+
+# Here's where we take action on the previous request
+&save_parameters($query)              if $query->param('action') eq 'SAVE';
+$query = &restore_parameters($query)  if $query->param('action') eq 'RESTORE';
+
+# Here's where we create the form
+print $query->startform;
+print "Popup 1: ",$query->popup_menu('popup1',[qw{red green purple magenta orange chartreuse brown}]),"\n";
+print "Popup 2: ",$query->popup_menu('popup2',[qw{lion tiger bear zebra potto wildebeest frog emu gazelle}]),"\n";
+print "<P>";
+$default_name = $query->remote_addr . '.sav';
+print "Save/restore state from file: ",$query->textfield('savefile',$default_name),"\n";
+print "<P>";
+print $query->submit('action','SAVE'),$query->submit('action','RESTORE');
+print "<P>",$query->defaults;
+print $query->endform;
+
+# Here we print out a bit at the end
+print $query->end_html;
+
+sub save_parameters {
+    local($query) = @_;
+    local($filename) = &clean_name($query->param('savefile'));
+    if (open(FILE,">$filename")) {
+       $query->save(FILE);
+       close FILE;
+       print "<STRONG>State has been saved to file $filename</STRONG>\n";
+       print "<P>If you remember this name you can restore the state later.\n";
+    } else {
+       print "<STRONG>Error:</STRONG> couldn't write to file $filename: $!\n";
+    }
+}
+
+sub restore_parameters {
+    local($query) = @_;
+    local($filename) = &clean_name($query->param('savefile'));
+    if (open(FILE,$filename)) {
+       $query = new CGI(FILE);  # Throw out the old query, replace it with a new one
+       close FILE;
+       print "<STRONG>State has been restored from file $filename</STRONG>\n";
+    } else {
+       print "<STRONG>Error:</STRONG> couldn't restore file $filename: $!\n";
+    }
+    return $query;
+}
+
+
+# Very important subroutine -- get rid of all the naughty
+# metacharacters from the file name. If there are, we
+# complain bitterly and die.
+sub clean_name {
+   local($name) = @_;
+   unless ($name=~/^[\w\._\-]+$/) {
+      print "<STRONG>$name has naughty characters.  Only ";
+      print "alphanumerics are allowed.  You can't use absolute names.</STRONG>";
+      die "Attempt to use naughty characters";
+   }
+   return "WORLD_WRITABLE/$name";
+}
diff --git a/eg/cgi/tryit.cgi b/eg/cgi/tryit.cgi
new file mode 100644 (file)
index 0000000..155cd72
--- /dev/null
@@ -0,0 +1,35 @@
+#!/usr/local/bin/perl
+
+use CGI ':standard';
+
+print header;
+print start_html('A Simple Example'),
+    h1('A Simple Example'),
+    start_form,
+    "What's your name? ",textfield('name'),
+    p,
+    "What's the combination?",
+    p,
+    checkbox_group(-name=>'words',
+                  -values=>['eenie','meenie','minie','moe'],
+                  -defaults=>['eenie','minie']),
+    p,
+    "What's your favorite color? ",
+    popup_menu(-name=>'color',
+              -values=>['red','green','blue','chartreuse']),
+    p,
+    submit,
+    end_form,
+    hr;
+
+if (param()) {
+    print 
+       "Your name is: ",em(param('name')),
+       p,
+       "The keywords are: ",em(join(", ",param('words'))),
+       p,
+       "Your favorite color is: ",em(param('color')),
+       hr;
+}
+print a({href=>'../cgi_docs.html'},'Go to the documentation');
+
diff --git a/eg/cgi/wilogo.gif.uu b/eg/cgi/wilogo.gif.uu
new file mode 100644 (file)
index 0000000..a183bc0
--- /dev/null
@@ -0,0 +1,14 @@
+begin 644 wilogo.gif
+M1TE&.#=A7@!$`(```'X2F?___RP`````7@!$```"_D2.J<#MKF)ZU,A3,[OO
+M(IUY']A%9"6AW$F)+#2]Y:BNLF6_\;WMH<?#I72^VP+D"@*)F&"O25KRDM&B
+M[%C-7;4_J)*6'4ZE&O`W8"1OQ5UGPWRBIKDPM!MW9J]-[;LUKL;$5W.'YQ3(
+M(O<&-^>F*(A55\BX%UEI^;<VB0BH1RFX2=<IELE4^*0'N?-I>OJ8N%(*Z^4G
+M.OJJ>8HZ.(>;JRMD><E[!KQHB^3;:APL6Z8\RKPK/)O:*-WLW&7]*\UYR]J)
+M?<P=1MR-_6VN76,WGAV^32W^3CZ_SCY3;W__C-R^CU^\%M#T!9PVL(ZZ&>X"
+M%A1XSM]!A?T8/C0T$1XMJG\B&G+,"-&C/(VS0(842;`)M'S>_OE8F#"=2S#*
+M8LHLAS'D1Y,42UGY9O,F-T:X@@JEE@D1RW>/D@8R.DZ-+*E0CQ:9JJ5JU!SQ
+MR&BU2D.;E*4'ER0TNY%G2A/Y.G[=VG%81+5K_UG$21<A6;=YP9'5B++O7:@7
+M\]J5]]?DX7:)%<]5%=B/55>-GQW55;$8L\RW6J8-9>QM7<^A/SMZK!ESY$,+
+(KPA.EJ```#L`
+`
+end
diff --git a/embed.h b/embed.h
index a408584..fdda81a 100644 (file)
--- a/embed.h
+++ b/embed.h
@@ -53,6 +53,7 @@
 #define band_amg               Perl_band_amg
 #define bind_match             Perl_bind_match
 #define block_end              Perl_block_end
+#define block_gimme            Perl_block_gimme
 #define block_start            Perl_block_start
 #define bool__amg              Perl_bool__amg
 #define bor_amg                        Perl_bor_amg
 #define gv_AVadd               Perl_gv_AVadd
 #define gv_HVadd               Perl_gv_HVadd
 #define gv_IOadd               Perl_gv_IOadd
-#define gv_autoload            Perl_gv_autoload
+#define gv_autoload4           Perl_gv_autoload4
 #define gv_check               Perl_gv_check
 #define gv_efullname           Perl_gv_efullname
 #define gv_efullname3          Perl_gv_efullname3
 #define minus_n                        (curinterp->Iminus_n)
 #define minus_p                        (curinterp->Iminus_p)
 #define multiline              (curinterp->Imultiline)
-#define mustcatch              (curinterp->Imustcatch)
 #define mystack_base           (curinterp->Imystack_base)
 #define mystack_mark           (curinterp->Imystack_mark)
 #define mystack_max            (curinterp->Imystack_max)
 #define sortstack              (curinterp->Isortstack)
 #define sortstash              (curinterp->Isortstash)
 #define splitstr               (curinterp->Isplitstr)
+#define start_env              (curinterp->Istart_env)
 #define statcache              (curinterp->Istatcache)
 #define statgv                 (curinterp->Istatgv)
 #define statname               (curinterp->Istatname)
 #define Iminus_n               minus_n
 #define Iminus_p               minus_p
 #define Imultiline             multiline
-#define Imustcatch             mustcatch
 #define Imystack_base          mystack_base
 #define Imystack_mark          mystack_mark
 #define Imystack_max           mystack_max
 #define Isortstack             sortstack
 #define Isortstash             sortstash
 #define Isplitstr              splitstr
+#define Istart_env             start_env
 #define Istatcache             statcache
 #define Istatgv                        statgv
 #define Istatname              statname
 #define minus_n                        Perl_minus_n
 #define minus_p                        Perl_minus_p
 #define multiline              Perl_multiline
-#define mustcatch              Perl_mustcatch
 #define mystack_base           Perl_mystack_base
 #define mystack_mark           Perl_mystack_mark
 #define mystack_max            Perl_mystack_max
 #define sortstack              Perl_sortstack
 #define sortstash              Perl_sortstash
 #define splitstr               Perl_splitstr
+#define start_env              Perl_start_env
 #define statcache              Perl_statcache
 #define statgv                 Perl_statgv
 #define statname               Perl_statname
index 9137270..60c3836 100644 (file)
@@ -317,6 +317,7 @@ av_undef
 av_unshift
 bind_match
 block_end
+block_gimme
 block_start
 boot_core_UNIVERSAL
 call_list
@@ -436,7 +437,7 @@ gp_ref
 gv_AVadd
 gv_HVadd
 gv_IOadd
-gv_autoload
+gv_autoload4
 gv_check
 gv_efullname
 gv_efullname3
diff --git a/gv.c b/gv.c
index cc520d6..fccecf3 100644 (file)
--- a/gv.c
+++ b/gv.c
@@ -264,17 +264,18 @@ char* name;
        if (strEQ(name,"import"))
            gv = (GV*)&sv_yes;
        else
-           gv = gv_autoload(stash, name, nend - name);
+           gv = gv_autoload4(stash, name, nend - name, TRUE);
     }
 
     return gv;
 }
 
 GV*
-gv_autoload(stash, name, len)
+gv_autoload4(stash, name, len, method)
 HV* stash;
 char* name;
 STRLEN len;
+I32 method;
 {
     static char autoload[] = "AUTOLOAD";
     static STRLEN autolen = 8;
@@ -286,9 +287,16 @@ STRLEN len;
 
     if (len == autolen && strnEQ(name, autoload, autolen))
        return Nullgv;
-    if (!(gv = gv_fetchmeth(stash, autoload, autolen, 0)))
-       return Nullgv;
-    cv = GvCV(gv);
+    if (method) {
+       if (!(gv = gv_fetchmeth(stash, autoload, autolen, FALSE)))
+           return Nullgv;
+       cv = GvCV(gv);
+    }
+    else {
+       GV** gvp = (GV**)hv_fetch(stash, autoload, autolen, FALSE);
+       if (!gvp || !(gv = *gvp) || !(cv = GvCVu(gv)))
+           return Nullgv;
+    }
 
     /*
      * Given &FOO::AUTOLOAD, set $FOO::AUTOLOAD to desired function name.
@@ -1282,14 +1290,14 @@ int flags;
     dSP;
     BINOP myop;
     SV* res;
-    bool oldmustcatch = mustcatch;
+    bool oldcatch = CATCH_GET;
 
+    CATCH_SET(TRUE);
     Zero(&myop, 1, BINOP);
     myop.op_last = (OP *) &myop;
     myop.op_next = Nullop;
-    myop.op_flags = OPf_KNOW|OPf_STACKED;
+    myop.op_flags = OPf_WANT_SCALAR | OPf_STACKED;
 
-    mustcatch = TRUE;
     ENTER;
     SAVESPTR(op);
     op = (OP *) &myop;
@@ -1301,7 +1309,7 @@ int flags;
     EXTEND(sp, notfound + 5);
     PUSHs(lr>0? right: left);
     PUSHs(lr>0? left: right);
-    PUSHs( assign ? &sv_undef : (lr>0? &sv_yes: &sv_no));
+    PUSHs( assign ? &sv_undef : boolSV(lr>0) );
     if (notfound) {
       PUSHs( sv_2mortal(newSVpv((char *)AMG_names[method + assignshift],0)) );
     }
@@ -1315,7 +1323,7 @@ int flags;
 
     res=POPs;
     PUTBACK;
-    mustcatch = oldmustcatch;
+    CATCH_SET(oldcatch);
 
     if (postpr) {
       int ans;
@@ -1344,7 +1352,7 @@ int flags;
       case not_amg:
        ans=!SvOK(res); break;
       }
-      return ans? &sv_yes: &sv_no;
+      return boolSV(ans);
     } else if (method==copy_amg) {
       if (!SvROK(res)) {
        croak("Copy method did not return a reference");
index d751e63..03b285d 100644 (file)
@@ -18,7 +18,7 @@
 # your $LD_LIBRARY_PATH to include the source directory when you build,
 # test and install the software.
 #
-# -Roderick Schertler <roderick@gate.net>
+# -Roderick Schertler <roderick@argon.org>
 
 
 # Here are the things from some old DGUX hints files which are different
diff --git a/installhtml b/installhtml
new file mode 100644 (file)
index 0000000..a33dec3
--- /dev/null
@@ -0,0 +1,560 @@
+#!/usr/bin/perl -w
+
+use Config;            # for config options in the makefile
+use Getopt::Long;      # for command-line parsing
+use Cwd;
+use Pod::Html;
+
+umask 022;
+
+=head1 NAME
+
+installhtml - converts a collection of POD pages to HTML format.
+
+=head1 SYNOPSIS
+
+    installhtml  [--help] [--podpath=<name>:...:<name>] [--podroot=<name>]
+         [--htmldir=<name>] [--htmlroot=<name>]  [--norecurse] [--recurse]
+         [--splithead=<name>,...,<name>]   [--splititem=<name>,...,<name>]
+        [--libpods=<name>,...,<name>]  [--verbose]
+
+=head1 DESCRIPTION
+
+I<installhtml> converts a collection of POD pages to a corresponding
+collection of HTML pages.  This is primarily used to convert the pod
+pages found in the perl distribution.
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<--help> help
+
+Displays the usage.
+
+=item B<--podpath> POD search path
+
+The list of diretories to search for .pod and .pm files to be converted.
+Default is `podroot/.'.
+
+=item B<--podroot> POD search path base directory
+
+The base directory to search for all .pod and .pm files to be converted.
+Default is current directory.
+
+=item B<--htmldir> HTML destination directory
+
+The base directory which all HTML files will be written to.  This should
+be a path relative to the filesystem, not the resulting URL.
+
+=item B<--htmlroot> URL base directory
+
+The base directory which all resulting HTML files will be visible at in
+a URL.  The default is `/'.
+
+=item B<--recurse> recurse on subdirectories
+
+Whether or not to convert all .pm and .pod files found in subdirectories
+too.  Default is to not recurse.
+
+=item B<--splithead> POD files to split on =head directive
+
+Colon-seperated list of pod files to split by the =head directive.  These
+files should have names specified relative to podroot.
+
+=item B<--splititem> POD files to split on =item directive
+
+Colon-seperated list of all pod files to split by the =item directive.
+I<installhtml> does not do the actual split, rather it invokes I<splitpod>
+to do the dirty work.  As with --splithead, these files should have names
+specified relative to podroot.
+
+=item B<--libpods> library PODs for LE<lt>E<gt> links
+
+Colon-seperated list of "library" pod files.  This is the same list that
+will be passed to pod2html when any pod is converted.
+
+=item B<--verbose> verbose output
+
+Self-explanatory.
+
+=back
+
+=head1 EXAMPLE
+
+The following command-line is an example of the one we use to convert
+perl documentation:
+
+    ./installhtml --podpath=lib:ext:pod:vms   \
+                 --podroot=/usr/src/perl     \
+                  --htmldir=/perl/nmanual     \
+                 --htmlroot=/perl/nmanual    \
+                 --splithead=pod/perlipc.pod \
+                 --splititem=pod/perlfunc    \
+                 --libpods=perlfunc:perlguts:perlvar:perlrun:perlop \
+                  --recurse \
+                 --verbose
+
+=head1 AUTHOR
+
+Chris Hall E<lt>hallc@cs.colorado.eduE<gt>
+
+=head1 TODO
+
+=cut
+
+$usage =<<END_OF_USAGE;
+Usage: $0 --help --podpath=<name>:...:<name> --podroot=<name>
+         --htmldir=<name> --htmlroot=<name> --norecurse --recurse
+         --splithead=<name>,...,<name> --splititem=<name>,...,<name>
+        --libpods=<name>,...,<name> --verbose
+
+    --help      - this message
+    --podpath   - colon-separated list of directories containing .pod and
+                  .pm files to be converted (. by default).
+    --podroot   - filesystem base directory from which all relative paths in
+                  podpath stem (default is .).
+    --htmldir   - directory to store resulting html files in relative
+                  to the filesystem (\$podroot/html by default). 
+    --htmlroot  - http-server base directory from which all relative paths
+                  in podpath stem (default is /).
+    --libpods   - comma-separated list of files to search for =item pod
+                  directives in as targets of C<> and implicit links (empty
+                  by default).
+    --norecurse - don't recurse on those subdirectories listed in podpath.
+                  (default behavior).
+    --recurse   - recurse on those subdirectories listed in podpath
+    --splithead - comma-separated list of .pod or .pm files to split.  will
+                  split each file into several smaller files at every occurance
+                  of a pod =head[1-6] directive.
+    --splititem - comma-separated list of .pod or .pm files to split using
+                  splitpod.
+    --splitpod  - where the program splitpod can be found (\$podroot/pod by
+                  default).
+    --verbose   - self-explanatory.
+
+END_OF_USAGE
+
+@libpods = ();
+@podpath = ( "." );    # colon-separated list of directories containing .pod
+                       # and .pm files to be converted.
+$podroot = ".";                # assume the pods we want are here
+$htmldir = "";         # nothing for now...
+$htmlroot = "/";       # default value
+$recurse = 0;          # default behavior
+@splithead = ();       # don't split any files by default
+@splititem = ();       # don't split any files by default
+$splitpod = "";                # nothing for now.
+
+$verbose = 0;          # whether or not to print debugging info
+
+$pod2html = "pod/pod2html";
+
+
+# parse the command-line
+$result = GetOptions( qw(
+       help
+       podpath=s
+       podroot=s
+       htmldir=s
+       htmlroot=s
+       libpods=s
+       recurse!
+       splithead=s
+       splititem=s
+       splitpod=s
+       verbose
+));
+usage("invalid parameters") unless $result;
+parse_command_line();
+
+
+# set these variables to appropriate values if the user didn't specify
+#  values for them.
+$htmldir = "$htmlroot/html" unless $htmldir;
+$splitpod = "$podroot/pod" unless $splitpod;
+
+
+# make sure that the destination directory exists
+(mkdir($htmldir, 0755) ||
+       die "$0: cannot make directory $htmldir: $!\n") if ! -d $htmldir;
+
+
+# the following array will eventually contain files that are to be
+# ignored in the conversion process.  these are files that have been
+# process by splititem or splithead and should not be converted as a
+# result.
+@ignore = ();
+
+
+# split pods.  its important to do this before convert ANY pods because
+#  it may effect some of the links
+@splitdirs = ();    # files in these directories won't get an index
+split_on_head($podroot, $htmldir, \@splitdirs, \@ignore, @splithead);
+split_on_item($podroot, \@splitdirs, \@ignore, @splititem);
+
+
+# convert the pod pages found in @poddirs
+#warn "converting files\n" if $verbose;
+#warn "\@ignore\t= @ignore\n" if $verbose;
+foreach $dir (@podpath) {
+    installdir($dir, $recurse, $podroot, \@splitdirs, \@ignore);
+}
+
+
+# now go through and create master indices for each pod we split
+foreach $dir (@splititem) {
+    print "creating index $htmldir/$dir.html\n" if $verbose;
+    create_index("$htmldir/$dir.html", "$htmldir/$dir");
+}
+
+foreach $dir (@splithead) {
+    $dir .= ".pod" unless $dir =~ /(\.pod|\.pm)$/;
+    # let pod2html create the file
+    runpod2html($dir, 1);
+
+    # now go through and truncate after the index
+    $dir =~ /^(.*?)(\.pod|\.pm)?$/sm;
+    $file = "$htmldir/$1";
+    print "creating index $file.html\n" if $verbose;
+
+    # read in everything until what would have been the first =head
+    # directive, patching the index as we go.
+    open(H, "<$file.html") ||
+       die "$0: error opening $file.html for input: $!\n";
+    $/ = "";
+    @data = ();
+    while (<H>) {
+       last if /NAME=/;
+       s,HREF="#(.*)">,HREF="$file/$1.html">,g;
+       push @data, $_;
+    } 
+    close(H);
+
+    # now rewrite the file 
+    open(H, ">$file.html") ||
+       die "$0: error opening $file.html for output: $!\n";
+    print H "@data\n";
+    close(H);
+}
+
+##############################################################################
+
+
+sub usage {
+    warn "$0: @_\n" if @_;
+    die $usage;
+}
+
+
+sub parse_command_line {
+    usage() if defined $opt_help;
+    $opt_help = "";                # make -w shut up
+
+    # list of directories
+    @podpath   = split(":", $opt_podpath) if defined $opt_podpath;
+
+    # lists of files
+    @splithead = split(",", $opt_splithead) if defined $opt_splithead;
+    @splititem = split(",", $opt_splititem) if defined $opt_splititem;
+    @libpods   = split(",", $opt_libpods) if defined $opt_libpods;
+
+    $htmldir  = $opt_htmldir       if defined $opt_htmldir;
+    $htmlroot = $opt_htmlroot      if defined $opt_htmlroot;
+    $podroot  = $opt_podroot       if defined $opt_podroot;
+    $splitpod = $opt_splitpod      if defined $opt_splitpod;
+
+    $recurse  = $opt_recurse       if defined $opt_recurse;
+    $verbose  = $opt_verbose       if defined $opt_verbose;
+}
+
+
+sub create_index {
+    my($html, $dir) = @_;
+    my(@files, @filedata, @index, $file);
+
+    # get the list of .html files in this directory
+    opendir(DIR, $dir) ||
+       die "$0: error opening directory $dir for reading: $!\n";
+    @files = sort(grep(/\.html$/, readdir(DIR)));
+    closedir(DIR);
+
+    open(HTML, ">$html") ||
+       die "$0: error opening $html for output: $!\n";
+
+    # for each .html file in the directory, extract the index
+    #  embedded in the file and throw it into the big index.
+    print HTML "<DL COMPACT>\n";
+    foreach $file (@files) {
+       $/ = "";
+
+       open(IN, "<$dir/$file") ||
+           die "$0: error opening $dir/$file for input: $!\n";
+       @filedata = <IN>;
+       close(IN);
+
+       # pull out the NAME section
+       ($name) = grep(/NAME=/, @filedata);
+       $name =~ m,/H1>\s(\S+)\s[\s-]*(.*?)\s*$,sm;
+       print HTML qq(<A HREF="$dir/$file">);
+       print HTML "<DT>$1</A><DD>$2\n" if defined $1;
+#      print HTML qq(<A HREF="$dir/$file">$1</A><BR>\n") if defined $1;
+
+       next;
+
+       @index = grep(/<!-- INDEX BEGIN -->.*<!-- INDEX END -->/s,
+                   @filedata);
+       for (@index) {
+           s/<!-- INDEX BEGIN -->(\s*<!--)(.*)(-->\s*)<!-- INDEX END -->/$2/s;
+           s,#,$dir/$file#,g;
+           # print HTML "$_\n";
+           print HTML "$_\n<P><HR><P>\n";
+       }
+    }
+    print HTML "</DL>\n";
+
+    close(HTML);
+}
+
+
+sub split_on_head {
+    my($podroot, $htmldir, $splitdirs, $ignore, @splithead) = @_;
+    my($pod, $dirname, $filename);
+
+    # split the files specified in @splithead on =head[1-6] pod directives
+    print "splitting files by head.\n" if $verbose && $#splithead >= 0;
+    foreach $pod (@splithead) {
+       # figure out the directory name and filename
+       $pod      =~ s,^([^/]*)$,/$1,;
+       $pod      =~ m,(.*?)/(.*?)(\.pod)?$,;
+       $dirname  = $1;
+       $filename = "$2.pod";
+
+       # since we are splitting this file it shouldn't be converted.
+       push(@$ignore, "$podroot/$dirname/$filename");
+
+       # split the pod
+       splitpod("$podroot/$dirname/$filename", "$podroot/$dirname", $htmldir,
+           $splitdirs);
+    }
+}
+
+
+sub split_on_item {
+    my($podroot, $splitdirs, $ignore, @splititem) = @_;
+    my($pwd, $dirname, $filename);
+
+    print "splitting files by item.\n" if $verbose && $#splititem >= 0;
+    $pwd = getcwd();
+    foreach $pod (@splititem) {
+       # figure out the directory to split into
+       $pod      =~ s,^([^/]*)$,/$1,;
+       $pod      =~ m,(.*?)/(.*?)(\.pod)?$,;
+       $dirname  = "$1/$2";
+       $filename = "$2.pod";
+
+       # since we are splitting this file it shouldn't be converted.
+       push(@$ignore, "$podroot/$dirname.pod");
+
+       # split the pod
+       push(@$splitdirs, "$podroot/$dirname");
+       if (! -d "$podroot/$dirname") {
+           mkdir("$podroot/$dirname", 0755) ||
+                   die "$0: error creating directory $podroot/$dirname: $!\n";
+       }
+       chdir("$podroot/$dirname") ||
+           die "$0: error changing to directory $podroot/$dirname: $!\n";
+       system("./splitpod", "../$filename");
+    }
+    chdir($pwd);
+}
+
+
+#
+# splitpod - splits a .pod file into several smaller .pod files
+#  where a new file is started each time a =head[1-6] pod directive
+#  is encountered in the input file.
+#
+sub splitpod {
+    my($pod, $poddir, $htmldir, $splitdirs) = @_;
+    my(@poddata, @filedata, @heads);
+    my($file, $i, $j, $prevsec, $section, $nextsec);
+
+    print "splitting $pod\n" if $verbose;
+
+    # read the file in paragraphs
+    $/ = "";
+    open(SPLITIN, "<$pod") ||
+       die "$0: error opening $pod for input: $!\n";
+    @filedata = <SPLITIN>;
+    close(SPLITIN) ||
+       die "$0: error closing $pod: $!\n";
+
+    # restore the file internally by =head[1-6] sections
+    @poddata = ();
+    for ($i = 0, $j = -1; $i <= $#filedata; $i++) {
+       $j++ if ($filedata[$i] =~ /^\s*=head[1-6]/);
+       if ($j >= 0) { 
+           $poddata[$j]  = "" unless defined $poddata[$j];
+           $poddata[$j] .= "\n$filedata[$i]" if $j >= 0;
+       }
+    }
+
+    # create list of =head[1-6] sections so that we can rewrite
+    #  L<> links as necessary.
+    %heads = ();
+    foreach $i (0..$#poddata) {
+       $heads{htmlize($1)} = 1 if $poddata[$i] =~ /=head[1-6]\s+(.*)/;
+    }
+
+    # create a directory of a similar name and store all the
+    #  files in there
+    $pod =~ s,.*/(.*),$1,;     # get the last part of the name
+    $dir = $pod;
+    $dir =~ s/\.pod//g;
+    push(@$splitdirs, "$poddir/$dir");
+    mkdir("$poddir/$dir", 0755) ||
+       die "$0: could not create directory $poddir/$dir: $!\n"
+       unless -d "$poddir/$dir";
+
+    $poddata[0] =~ /^\s*=head[1-6]\s+(.*)/;
+    $section    = "";
+    $nextsec    = $1;
+
+    # for each section of the file create a separate pod file
+    for ($i = 0; $i <= $#poddata; $i++) {
+       # determine the "prev" and "next" links
+       $prevsec = $section;
+       $section = $nextsec;
+       if ($i < $#poddata) {
+           $poddata[$i+1] =~ /^\s*=head[1-6]\s+(.*)/;
+           $nextsec       = $1;
+       } else {
+           $nextsec = "";
+       }
+
+       # determine an appropriate filename (this must correspond with
+       #  what pod2html will try and guess)
+       # $poddata[$i] =~ /^\s*=head[1-6]\s+(.*)/;
+       $file = "$dir/" . htmlize($section) . ".pod";
+
+       # create the new .pod file
+       print "\tcreating $poddir/$file\n" if $verbose;
+       open(SPLITOUT, ">$poddir/$file") ||
+           die "$0: error opening $poddir/$file for output: $!\n";
+       $poddata[$i] =~ s,L<([^<>]*)>,
+                           defined $heads{htmlize($1)} ? "L<$dir/$1>" : "L<$1>"
+                        ,ge;
+       print SPLITOUT $poddata[$i]."\n\n";
+       print SPLITOUT "=over 4\n\n";
+       print SPLITOUT "=item *\n\nBack to L<$dir/\"$prevsec\">\n\n" if $prevsec;
+       print SPLITOUT "=item *\n\nForward to L<$dir/\"$nextsec\">\n\n" if $nextsec;
+       print SPLITOUT "=item *\n\nUp to L<$dir>\n\n";
+       print SPLITOUT "=back\n\n";
+       close(SPLITOUT) ||
+           die "$0: error closing $poddir/$file: $!\n";
+    }
+}
+
+
+#
+# installdir - takes care of converting the .pod and .pm files in the
+#  current directory to .html files and then installing those.
+#
+sub installdir {
+    my($dir, $recurse, $podroot, $splitdirs, $ignore) = @_;
+    my(@dirlist, @podlist, @pmlist, $doindex);
+
+    @dirlist = ();     # directories to recurse on
+    @podlist = ();     # .pod files to install
+    @pmlist  = ();     # .pm files to install
+
+    # should files in this directory get an index?
+    $doindex = (grep($_ eq "$podroot/$dir", @$splitdirs) ? 0 : 1);
+
+    opendir(DIR, "$podroot/$dir")
+       || die "$0: error opening directory $podroot/$dir: $!\n";
+
+    # find the directories to recurse on
+    @dirlist = map { "$dir/$_" }
+       grep(-d "$podroot/$dir/$_" && !/^\.{1,2}/, readdir(DIR)) if $recurse;
+    rewinddir(DIR);
+
+    # find all the .pod files within the directory
+    @podlist = map { /^(.*)\.pod$/; "$dir/$1" }
+       grep(! -d "$podroot/$dir/$_" && /\.pod$/, readdir(DIR));
+    rewinddir(DIR);
+
+    # find all the .pm files within the directory
+    @pmlist = map { /^(.*)\.pm$/; "$dir/$1" }
+       grep(! -d "$podroot/$dir/$_" && /\.pm$/, readdir(DIR));
+
+    closedir(DIR);
+
+    # recurse on all subdirectories we kept track of
+    foreach $dir (@dirlist) {
+       installdir($dir, $recurse, $podroot, $splitdirs, $ignore);
+    }
+
+    # install all the pods we found
+    foreach $pod (@podlist) {
+       # check if we should ignore it.
+       next if grep($_ eq "$podroot/$pod.pod", @$ignore);
+
+       # check if a .pm files exists too
+       if (grep($_ eq "$pod.pm", @pmlist)) {
+           print  "$0: Warning both `$podroot/$pod.pod' and "
+               . "`$podroot/$pod.pm' exist, using pod\n";
+           push(@ignore, "$pod.pm");
+       }
+       runpod2html("$pod.pod", $doindex);
+    }
+
+    # install all the .pm files we found
+    foreach $pm (@pmlist) {
+       # check if we should ignore it.
+       next if grep($_ eq "$pm.pm", @ignore);
+
+       runpod2html("$pm.pm", $doindex);
+    }
+}
+
+
+#
+# runpod2html - invokes pod2html to convert a .pod or .pm file to a .html
+#  file.
+#
+sub runpod2html {
+    my($pod, $doindex) = @_;
+    my($html, $i, $dir, @dirs);
+
+    $html = $pod;
+    $html =~ s/\.(pod|pm)$/.html/g;
+
+    # make sure the destination directories exist
+    @dirs = split("/", $html);
+    $dir  = "$htmldir/";
+    for ($i = 0; $i < $#dirs; $i++) {
+       if (! -d "$dir$dirs[$i]") {
+           mkdir("$dir$dirs[$i]", 0755) ||
+               die "$0: error creating directory $dir$dirs[$i]: $!\n";
+       }
+       $dir .= "$dirs[$i]/";
+    }
+
+    # invoke pod2html
+    print "$podroot/$pod => $htmldir/$html\n" if $verbose;
+#system("./pod2html",
+        Pod::Html'pod2html(
+        #Pod::Html'pod2html($pod2html,
+       "--htmlroot=$htmlroot",
+       "--podpath=".join(":", @podpath),
+       "--podroot=$podroot", "--netscape",
+       ($doindex ? "--index" : "--noindex"),
+       "--" . ($recurse ? "" : "no") . "recurse",
+       ($#libpods >= 0) ? "--libpods=" . join(":", @libpods) : "",
+       "--infile=$podroot/$pod", "--outfile=$htmldir/$html");
+    die "$0: error running $pod2html: $!\n" if $?;
+}
+
+sub htmlize { htmlify(0, @_) }
index a82c2c4..80ef5b5 100644 (file)
@@ -85,7 +85,6 @@ minus_l
 minus_n
 minus_p
 multiline
-mustcatch
 mystack_base
 mystack_mark
 mystack_max
@@ -126,6 +125,7 @@ sortcop
 sortstack
 sortstash
 splitstr
+start_env
 statcache
 statgv
 statname
diff --git a/lib/CGI.pm b/lib/CGI.pm
new file mode 100644 (file)
index 0000000..3ddd4d9
--- /dev/null
@@ -0,0 +1,4885 @@
+package CGI;
+require 5.001;
+
+# See the bottom of this file for the POD documentation.  Search for the
+# string '=head'.
+
+# You can run this file through either pod2man or pod2html to produce pretty
+# documentation in manual or html file format (these utilities are part of the
+# Perl 5 distribution).
+
+# Copyright 1995-1997 Lincoln D. Stein.  All rights reserved.
+# It may be used and modified freely, but I do request that this copyright
+# notice remain attached to the file.  You may modify this module as you 
+# wish, but if you redistribute a modified version, please attach a note
+# listing the modifications you have made.
+
+# The most recent version and complete docs are available at:
+#   http://www.genome.wi.mit.edu/ftp/pub/software/WWW/cgi_docs.html
+#   ftp://ftp-genome.wi.mit.edu/pub/software/WWW/
+
+# Set this to 1 to enable copious autoloader debugging messages
+$AUTOLOAD_DEBUG=0;
+
+# Set this to 1 to enable NPH scripts
+# or: 
+#    1) use CGI qw(:nph)
+#    2) $CGI::nph(1)
+#    3) print header(-nph=>1)
+$NPH=0;
+
+$CGI::revision = '$Id: CGI.pm,v 2.32 1997/3/19 10:10 lstein Exp $';
+$CGI::VERSION='2.32';
+
+# OVERRIDE THE OS HERE IF CGI.pm GUESSES WRONG
+# $OS = 'UNIX';
+# $OS = 'MACINTOSH';
+# $OS = 'WINDOWS';
+# $OS = 'VMS';
+# $OS = 'OS2';
+
+# HARD-CODED LOCATION FOR FILE UPLOAD TEMPORARY FILES.
+# UNCOMMENT THIS ONLY IF YOU KNOW WHAT YOU'RE DOING.
+# $TempFile::TMPDIRECTORY = '/usr/tmp';
+
+# ------------------ START OF THE LIBRARY ------------
+
+# FIGURE OUT THE OS WE'RE RUNNING UNDER
+# Some systems support the $^O variable.  If not
+# available then require() the Config library
+unless ($OS) {
+    unless ($OS = $^O) {
+       require Config;
+       $OS = $Config::Config{'osname'};
+    }
+}
+if ($OS=~/Win/i) {
+    $OS = 'WINDOWS';
+} elsif ($OS=~/vms/i) {
+    $OS = 'VMS';
+} elsif ($OS=~/Mac/i) {
+    $OS = 'MACINTOSH';
+} elsif ($OS=~/os2/i) {
+    $OS = 'OS2';
+} else {
+    $OS = 'UNIX';
+}
+
+# Some OS logic.  Binary mode enabled on DOS, NT and VMS
+$needs_binmode = $OS=~/^(WINDOWS|VMS|OS2)/;
+
+# This is the default class for the CGI object to use when all else fails.
+$DefaultClass = 'CGI' unless defined $CGI::DefaultClass;
+# This is where to look for autoloaded routines.
+$AutoloadClass = $DefaultClass unless defined $CGI::AutoloadClass;
+
+# The path separator is a slash, backslash or semicolon, depending
+# on the paltform.
+$SL = {
+    UNIX=>'/',
+    OS2=>'\\',
+    WINDOWS=>'\\',
+    MACINTOSH=>':',
+    VMS=>'\\'
+    }->{$OS};
+
+# Turn on NPH scripts by default when running under IIS server!
+$NPH++ if defined($ENV{'SERVER_SOFTWARE'}) && $ENV{'SERVER_SOFTWARE'}=~/IIS/;
+
+# Turn on special checking for Doug MacEachern's modperl
+if ($MOD_PERL = $ENV{'GATEWAY_INTERFACE'} =~ /^CGI-Perl/) {
+    $NPH++;
+    $| = 1;
+    $SEQNO = 1;
+}
+
+# This is really "\r\n", but the meaning of \n is different
+# in MacPerl, so we resort to octal here.
+$CRLF = "\015\012";
+
+if ($needs_binmode) {
+    $CGI::DefaultClass->binmode(main::STDOUT);
+    $CGI::DefaultClass->binmode(main::STDIN);
+    $CGI::DefaultClass->binmode(main::STDERR);
+}
+
+# Cute feature, but it broke when the overload mechanism changed...
+# %OVERLOAD = ('""'=>'as_string');
+
+%EXPORT_TAGS = (
+             ':html2'=>[h1..h6,qw/p br hr ol ul li dl dt dd menu code var strong em
+                        tt i b blockquote pre img a address cite samp dfn html head
+                        base body link nextid title meta kbd start_html end_html
+                        input Select option/],
+             ':html3'=>[qw/div table caption th td TR Tr super sub strike applet PARAM embed basefont/],
+             ':netscape'=>[qw/blink frameset frame script font fontsize center/],
+             ':form'=>[qw/textfield textarea filefield password_field hidden checkbox checkbox_group 
+                      submit reset defaults radio_group popup_menu button autoEscape
+                      scrolling_list image_button start_form end_form startform endform
+                      start_multipart_form isindex tmpFileName uploadInfo URL_ENCODED MULTIPART/],
+             ':cgi'=>[qw/param path_info path_translated url self_url script_name cookie dump
+                      raw_cookie request_method query_string accept user_agent remote_host 
+                      remote_addr referer server_name server_software server_port server_protocol
+                      virtual_host remote_ident auth_type http
+                      remote_user user_name header redirect import_names put/],
+             ':ssl' => [qw/https/],
+             ':cgi-lib' => [qw/ReadParse PrintHeader HtmlTop HtmlBot SplitParam/],
+             ':html' => [qw/:html2 :html3 :netscape/],
+             ':standard' => [qw/:html2 :form :cgi/],
+             ':all' => [qw/:html2 :html3 :netscape :form :cgi/]
+        );
+
+# to import symbols into caller
+sub import {
+    my $self = shift;
+    my ($callpack, $callfile, $callline) = caller;
+    foreach (@_) {
+       $NPH++, next if $_ eq ':nph';
+       foreach (&expand_tags($_)) {
+           tr/a-zA-Z0-9_//cd;  # don't allow weird function names
+           $EXPORT{$_}++;
+       }
+    }
+    # To allow overriding, search through the packages
+    # Till we find one in which the correct subroutine is defined.
+    my @packages = ($self,@{"$self\:\:ISA"});
+    foreach $sym (keys %EXPORT) {
+       my $pck;
+       my $def = ${"$self\:\:AutoloadClass"} || $DefaultClass;
+       foreach $pck (@packages) {
+           if (defined(&{"$pck\:\:$sym"})) {
+               $def = $pck;
+               last;
+           }
+       }
+       *{"${callpack}::$sym"} = \&{"$def\:\:$sym"};
+    }
+}
+
+sub expand_tags {
+    my($tag) = @_;
+    my(@r);
+    return ($tag) unless $EXPORT_TAGS{$tag};
+    foreach (@{$EXPORT_TAGS{$tag}}) {
+       push(@r,&expand_tags($_));
+    }
+    return @r;
+}
+
+#### Method: new
+# The new routine.  This will check the current environment
+# for an existing query string, and initialize itself, if so.
+####
+sub new {
+    my($class,$initializer) = @_;
+    my $self = {};
+    bless $self,ref $class || $class || $DefaultClass;
+    $CGI::DefaultClass->_reset_globals() if $MOD_PERL;
+    $initializer = to_filehandle($initializer) if $initializer;
+    $self->init($initializer);
+    return $self;
+}
+
+# We provide a DESTROY method so that the autoloader
+# doesn't bother trying to find it.
+sub DESTROY { }
+
+#### Method: param
+# Returns the value(s)of a named parameter.
+# If invoked in a list context, returns the
+# entire list.  Otherwise returns the first
+# member of the list.
+# If name is not provided, return a list of all
+# the known parameters names available.
+# If more than one argument is provided, the
+# second and subsequent arguments are used to
+# set the value of the parameter.
+####
+sub param {
+    my($self,@p) = self_or_default(@_);
+    return $self->all_parameters unless @p;
+    my($name,$value,@other);
+
+    # For compatibility between old calling style and use_named_parameters() style, 
+    # we have to special case for a single parameter present.
+    if (@p > 1) {
+       ($name,$value,@other) = $self->rearrange([NAME,[DEFAULT,VALUE,VALUES]],@p);
+       my(@values);
+
+       if (substr($p[0],0,1) eq '-' || $self->use_named_parameters) {
+           @values = defined($value) ? (ref($value) && ref($value) eq 'ARRAY' ? @{$value} : $value) : ();
+       } else {
+           foreach ($value,@other) {
+               push(@values,$_) if defined($_);
+           }
+       }
+       # If values is provided, then we set it.
+       if (@values) {
+           $self->add_parameter($name);
+           $self->{$name}=[@values];
+       }
+    } else {
+       $name = $p[0];
+    }
+
+    return () unless defined($name) && $self->{$name};
+    return wantarray ? @{$self->{$name}} : $self->{$name}->[0];
+}
+
+#### Method: delete
+# Deletes the named parameter entirely.
+####
+sub delete {
+    my($self,$name) = self_or_default(@_);
+    delete $self->{$name};
+    delete $self->{'.fieldnames'}->{$name};
+    @{$self->{'.parameters'}}=grep($_ ne $name,$self->param());
+    return wantarray ? () : undef;
+}
+
+sub self_or_default {
+    return @_ if defined($_[0]) && !ref($_[0]) && ($_[0] eq 'CGI');
+    unless (defined($_[0]) && 
+           ref($_[0]) &&
+           (ref($_[0]) eq 'CGI' ||
+            eval "\$_[0]->isaCGI()")) { # optimize for the common case
+       $CGI::DefaultClass->_reset_globals() 
+           if defined($Q) && $MOD_PERL && $CGI::DefaultClass->_new_request();
+       $Q = $CGI::DefaultClass->new unless defined($Q);
+       unshift(@_,$Q);
+    }
+    return @_;
+}
+
+sub _new_request {
+    return undef unless (defined(Apache->seqno()) or eval { require Apache });
+    if (Apache->seqno() != $SEQNO) {
+       $SEQNO = Apache->seqno();
+       return 1;
+    } else {
+       return undef;
+    }
+}
+
+sub _reset_globals {
+    undef $Q;
+    undef @QUERY_PARAM;
+}
+
+sub self_or_CGI {
+    local $^W=0;                # prevent a warning
+    if (defined($_[0]) &&
+       (substr(ref($_[0]),0,3) eq 'CGI' 
+        || eval "\$_[0]->isaCGI()")) {
+       return @_;
+    } else {
+       return ($DefaultClass,@_);
+    }
+}
+
+sub isaCGI {
+    return 1;
+}
+
+#### Method: import_names
+# Import all parameters into the given namespace.
+# Assumes namespace 'Q' if not specified
+####
+sub import_names {
+    my($self,$namespace) = self_or_default(@_);
+    $namespace = 'Q' unless defined($namespace);
+    die "Can't import names into 'main'\n"
+       if $namespace eq 'main';
+    my($param,@value,$var);
+    foreach $param ($self->param) {
+       # protect against silly names
+       ($var = $param)=~tr/a-zA-Z0-9_/_/c;
+       $var = "${namespace}::$var";
+       @value = $self->param($param);
+       @{$var} = @value;
+       ${$var} = $value[0];
+    }
+}
+
+#### Method: use_named_parameters
+# Force CGI.pm to use named parameter-style method calls
+# rather than positional parameters.  The same effect
+# will happen automatically if the first parameter
+# begins with a -.
+sub use_named_parameters {
+    my($self,$use_named) = self_or_default(@_);
+    return $self->{'.named'} unless defined ($use_named);
+
+    # stupidity to avoid annoying warnings
+    return $self->{'.named'}=$use_named;
+}
+
+########################################
+# THESE METHODS ARE MORE OR LESS PRIVATE
+# GO TO THE __DATA__ SECTION TO SEE MORE
+# PUBLIC METHODS
+########################################
+
+# Initialize the query object from the environment.
+# If a parameter list is found, this object will be set
+# to an associative array in which parameter names are keys
+# and the values are stored as lists
+# If a keyword list is found, this method creates a bogus
+# parameter list with the single parameter 'keywords'.
+
+sub init {
+    my($self,$initializer) = @_;
+    my($query_string,@lines);
+    my($meth) = '';
+
+    # if we get called more than once, we want to initialize
+    # ourselves from the original query (which may be gone
+    # if it was read from STDIN originally.)
+    if (defined(@QUERY_PARAM) && !defined($initializer)) {
+
+       foreach (@QUERY_PARAM) {
+           $self->param('-name'=>$_,'-value'=>$QUERY_PARAM{$_});
+       }
+       return;
+    }
+
+    $meth=$ENV{'REQUEST_METHOD'} if defined($ENV{'REQUEST_METHOD'});
+
+    # If initializer is defined, then read parameters
+    # from it.
+  METHOD: {
+      if (defined($initializer)) {
+
+         if (ref($initializer) && ref($initializer) eq 'HASH') {
+             foreach (keys %$initializer) {
+                 $self->param('-name'=>$_,'-value'=>$initializer->{$_});
+             }
+             last METHOD;
+         }
+         
+         $initializer = $$initializer if ref($initializer);
+         if (defined(fileno($initializer))) {
+             while (<$initializer>) {
+                 chomp;
+                 last if /^=/;
+                 push(@lines,$_);
+             }
+             # massage back into standard format
+             if ("@lines" =~ /=/) {
+                 $query_string=join("&",@lines);
+             } else {
+                 $query_string=join("+",@lines);
+             }
+             last METHOD;
+         }
+         $query_string = $initializer;
+         last METHOD;
+      }
+         # If method is GET or HEAD, fetch the query from
+         # the environment.
+      if ($meth=~/^(GET|HEAD)$/) {
+       $query_string = $ENV{'QUERY_STRING'};
+       last METHOD;
+    }
+       
+      # If the method is POST, fetch the query from standard
+      # input.
+      if ($meth eq 'POST') {
+
+         if (defined($ENV{'CONTENT_TYPE'}) 
+             && 
+             $ENV{'CONTENT_TYPE'}=~m|^multipart/form-data|) {
+             my($boundary) = $ENV{'CONTENT_TYPE'}=~/boundary=(\S+)/;
+             $self->read_multipart($boundary,$ENV{'CONTENT_LENGTH'});
+
+         } else {
+
+             $self->read_from_client(\*STDIN,\$query_string,$ENV{'CONTENT_LENGTH'},0)
+                 if $ENV{'CONTENT_LENGTH'} > 0;
+
+         }
+         # Some people want to have their cake and eat it too!
+         # Uncomment this line to have the contents of the query string
+         # APPENDED to the POST data.
+         # $query_string .= ($query_string ? '&' : '') . $ENV{'QUERY_STRING'} if $ENV{'QUERY_STRING'};
+         last METHOD;
+      }
+         
+      # If neither is set, assume we're being debugged offline.
+      # Check the command line and then the standard input for data.
+      # We use the shellwords package in order to behave the way that
+      # UN*X programmers expect.
+      $query_string = &read_from_cmdline;
+  }
+    
+    # We now have the query string in hand.  We do slightly
+    # different things for keyword lists and parameter lists.
+    if ($query_string) {
+       if ($query_string =~ /=/) {
+           $self->parse_params($query_string);
+       } else {
+           $self->add_parameter('keywords');
+           $self->{'keywords'} = [$self->parse_keywordlist($query_string)];
+       }
+    }
+
+    # Special case.  Erase everything if there is a field named
+    # .defaults.
+    if ($self->param('.defaults')) {
+       undef %{$self};
+    }
+
+    # Associative array containing our defined fieldnames
+    $self->{'.fieldnames'} = {};
+    foreach ($self->param('.cgifields')) {
+       $self->{'.fieldnames'}->{$_}++;
+    }
+    
+    # Clear out our default submission button flag if present
+    $self->delete('.submit');
+    $self->delete('.cgifields');
+    $self->save_request unless $initializer;
+
+}
+
+
+# FUNCTIONS TO OVERRIDE:
+
+# Turn a string into a filehandle
+sub to_filehandle {
+    my $string = shift;
+    if ($string && !ref($string)) {
+       my($package) = caller(1);
+       my($tmp) = $string=~/[':]/ ? $string : "$package\:\:$string"; 
+       return $tmp if defined(fileno($tmp));
+    }
+    return $string;
+}
+
+# Create a new multipart buffer
+sub new_MultipartBuffer {
+    my($self,$boundary,$length,$filehandle) = @_;
+    return MultipartBuffer->new($self,$boundary,$length,$filehandle);
+}
+
+# Read data from a file handle
+sub read_from_client {
+    my($self, $fh, $buff, $len, $offset) = @_;
+    local $^W=0;                # prevent a warning
+    return read($fh, $$buff, $len, $offset);
+}
+
+# put a filehandle into binary mode (DOS)
+sub binmode {
+    binmode($_[1]);
+}
+
+# send output to the browser
+sub put {
+    my($self,@p) = self_or_default(@_);
+    $self->print(@p);
+}
+
+# print to standard output (for overriding in mod_perl)
+sub print {
+    shift;
+    CORE::print(@_);
+}
+
+# unescape URL-encoded data
+sub unescape {
+    my($todecode) = @_;
+    $todecode =~ tr/+/ /;       # pluses become spaces
+    $todecode =~ s/%([0-9a-fA-F]{2})/pack("c",hex($1))/ge;
+    return $todecode;
+}
+
+# URL-encode data
+sub escape {
+    my($toencode) = @_;
+    $toencode=~s/([^a-zA-Z0-9_\-.])/uc sprintf("%%%02x",ord($1))/eg;
+    return $toencode;
+}
+
+sub save_request {
+    my($self) = @_;
+    # We're going to play with the package globals now so that if we get called
+    # again, we initialize ourselves in exactly the same way.  This allows
+    # us to have several of these objects.
+    @QUERY_PARAM = $self->param; # save list of parameters
+    foreach (@QUERY_PARAM) {
+       $QUERY_PARAM{$_}=$self->{$_};
+    }
+}
+
+sub parse_keywordlist {
+    my($self,$tosplit) = @_;
+    $tosplit = &unescape($tosplit); # unescape the keywords
+    $tosplit=~tr/+/ /;          # pluses to spaces
+    my(@keywords) = split(/\s+/,$tosplit);
+    return @keywords;
+}
+
+sub parse_params {
+    my($self,$tosplit) = @_;
+    my(@pairs) = split('&',$tosplit);
+    my($param,$value);
+    foreach (@pairs) {
+       ($param,$value) = split('=');
+       $param = &unescape($param);
+       $value = &unescape($value);
+       $self->add_parameter($param);
+       push (@{$self->{$param}},$value);
+    }
+}
+
+sub add_parameter {
+    my($self,$param)=@_;
+    push (@{$self->{'.parameters'}},$param) 
+       unless defined($self->{$param});
+}
+
+sub all_parameters {
+    my $self = shift;
+    return () unless defined($self) && $self->{'.parameters'};
+    return () unless @{$self->{'.parameters'}};
+    return @{$self->{'.parameters'}};
+}
+
+
+
+#### Method as_string
+#
+# synonym for "dump"
+####
+sub as_string {
+    &dump(@_);
+}
+
+sub AUTOLOAD {
+    print STDERR "CGI::AUTOLOAD for $AUTOLOAD\n" if $CGI::AUTOLOAD_DEBUG;
+    my($func) = $AUTOLOAD;
+    my($pack,$func_name) = $func=~/(.+)::([^:]+)$/;
+    $pack = ${"$pack\:\:AutoloadClass"} || $CGI::DefaultClass
+                unless defined(${"$pack\:\:AUTOLOADED_ROUTINES"});
+
+    my($sub) = \%{"$pack\:\:SUBS"};
+    unless (%$sub) {
+       my($auto) = \${"$pack\:\:AUTOLOADED_ROUTINES"};
+       eval "package $pack; $$auto";
+       die $@ if $@;
+    }
+    my($code) = $sub->{$func_name};
+
+    $code = "sub $AUTOLOAD { }" if (!$code and $func_name eq 'DESTROY');
+    if (!$code) {
+       if ($EXPORT{':any'} || 
+           $EXPORT{$func_name} || 
+           (%EXPORT_OK || grep(++$EXPORT_OK{$_},&expand_tags(':html')))
+           && $EXPORT_OK{$func_name}) {
+           $code = $sub->{'HTML_FUNC'};
+           $code=~s/func_name/$func_name/mg;
+       }
+    }
+    die "Undefined subroutine $AUTOLOAD\n" unless $code;
+    eval "package $pack; $code";
+    if ($@) {
+       $@ =~ s/ at .*\n//;
+       die $@;
+    }
+    goto &{"$pack\:\:$func_name"};
+}
+
+# PRIVATE SUBROUTINE
+# Smart rearrangement of parameters to allow named parameter
+# calling.  We do the rearangement if:
+# 1. The first parameter begins with a -
+# 2. The use_named_parameters() method returns true
+sub rearrange {
+    my($self,$order,@param) = @_;
+    return () unless @param;
+    
+    return @param unless (defined($param[0]) && substr($param[0],0,1) eq '-')
+       || $self->use_named_parameters;
+
+    my $i;
+    for ($i=0;$i<@param;$i+=2) {
+       $param[$i]=~s/^\-//;     # get rid of initial - if present
+       $param[$i]=~tr/a-z/A-Z/; # parameters are upper case
+    }
+    
+    my(%param) = @param;                # convert into associative array
+    my(@return_array);
+    
+    my($key)='';
+    foreach $key (@$order) {
+       my($value);
+       # this is an awful hack to fix spurious warnings when the
+       # -w switch is set.
+       if (ref($key) && ref($key) eq 'ARRAY') {
+           foreach (@$key) {
+               last if defined($value);
+               $value = $param{$_};
+               delete $param{$_};
+           }
+       } else {
+           $value = $param{$key};
+           delete $param{$key};
+       }
+       push(@return_array,$value);
+    }
+    push (@return_array,$self->make_attributes(\%param)) if %param;
+    return (@return_array);
+}
+
+###############################################################################
+################# THESE FUNCTIONS ARE AUTOLOADED ON DEMAND ####################
+###############################################################################
+$AUTOLOADED_ROUTINES = '';      # get rid of -w warning
+$AUTOLOADED_ROUTINES=<<'END_OF_AUTOLOAD';
+
+%SUBS = (
+
+'URL_ENCODED'=> <<'END_OF_FUNC',
+sub URL_ENCODED { 'application/x-www-form-urlencoded'; }
+END_OF_FUNC
+
+'MULTIPART' => <<'END_OF_FUNC',
+sub MULTIPART {  'multipart/form-data'; }
+END_OF_FUNC
+
+'HTML_FUNC' => <<'END_OF_FUNC',
+sub func_name { 
+
+    # handle various cases in which we're called
+    # most of this bizarre stuff is to avoid -w errors
+    shift if $_[0] && 
+       (!ref($_[0]) && $_[0] eq $CGI::DefaultClass) ||
+           (ref($_[0]) &&
+            (substr(ref($_[0]),0,3) eq 'CGI' ||
+             eval "\$_[0]->isaCGI()"));
+
+    my($attr) = '';
+    if (ref($_[0]) && ref($_[0]) eq 'HASH') {
+       my(@attr) = CGI::make_attributes('',shift);
+       $attr = " @attr" if @attr;
+    }
+    my($tag,$untag) = ("\U<func_name\E$attr>","\U</func_name>\E");
+    return $tag unless @_;
+    if (ref($_[0]) eq 'ARRAY') {
+       my(@r);
+       foreach (@{$_[0]}) {
+           push(@r,"$tag$_$untag");
+       }
+       return "@r";
+    } else {
+       return "$tag@_$untag";
+    }
+}
+END_OF_FUNC
+
+#### Method: keywords
+# Keywords acts a bit differently.  Calling it in a list context
+# returns the list of keywords.  
+# Calling it in a scalar context gives you the size of the list.
+####
+'keywords' => <<'END_OF_FUNC',
+sub keywords {
+    my($self,@values) = self_or_default(@_);
+    # If values is provided, then we set it.
+    $self->{'keywords'}=[@values] if @values;
+    my(@result) = @{$self->{'keywords'}};
+    @result;
+}
+END_OF_FUNC
+
+# These are some tie() interfaces for compatibility
+# with Steve Brenner's cgi-lib.pl routines
+'ReadParse' => <<'END_OF_FUNC',
+sub ReadParse {
+    local(*in);
+    if (@_) {
+       *in = $_[0];
+    } els