of
------------- Version 5.003 -------------

             ***>   IMPORTANT  NOTICE:   <*** The main reason for
this release was to fix a security bug affecting suidperl on some
systems.   If  you  build suidperl on your system, it is strongly
recommended that you replace any  existing  copies  with  version
5.003 or later immediately.

The  changes  in  5.003  have been held to a minimum, in the hope
that this will simplify installation and testing at  sites  which
may  be  affected  by  the  security hole in suidperl.  In brief,
5.003 does the following:

- Plugs security hole in suidperl mechanism on affected systems

- MakeMaker was also updated to version 5.34, and extension Make-
file.PLs
  were modified to match it.

- The following hints files were updated: bsdos.sh, hpux.sh, lin-
ux.sh,
  machten.sh, solaris_2.sh

- A fix was added to installperl to insure that file  permissions
were
  set correctly for the installed C header files.

-  t/op/stat.t  was modified to work around MachTen's belief that
/dev/null
  is a terminal device.

- Incorporation of Perl version information into the VMS' version
of
  config.h was changed to make it compatible with the older VAXC.

- Minor fixes were made to VMS-specific C code, and the routine
  VMS::Filespec::rmsexpand was added.

---------------- Version 5.002_01 ----------------

- The EMBED namespace changes are now used by default,  in  order
to better
  segregate  Perl's  C global symbols from those belonging to em-
bedding
  applications or to libraries.  This makes it necessary  to  re-
build dynamic
  extensions  built  under  previous versions of Perl without the
EMBED option.
  The default use of EMBED can be overridden by placing  -DNO_EM-
BED on the
  cc command line.

  The  EMBED  change  is  the beginning of a general cleanup of C
global
  symbols used by Perl, so binary compatibility with previously
  compiled dynamic extensions may be broken again in the next few
  releases.

- Several bugs in the core were fixed, including the following:
   - made sure FILE * for -e temp file was closed only once
   - improved form of single-statement macro definitions to keep
     as many ccs as possible happy
   - fixed file tests to insure that signed values were used when
     computing differences between times.
   - fixed toke.c so implicit loop isn't doubled when perl is
     invoked with both the -p and -n switches

- The new SUBVERSION number has been included in the default val-
ue for
  architecture-specific library directories, so development and
  production architecture-dependent libraries can coexist.

-  Two  new  magic  variables, $^E and $^O, have been added.  $^E
contains the
  OS-specific equivalent of $!.  $^O contains the name of the op-
erating
  system, in order to make it easily available to Perl code whose
behavior
  differs according to its  environment.   The  standard  library
files have
  been converted to use $^O in preference to $Config{'osname'}.

-  A  mechanism  was  added  to  allow listing of locally applied
patches
  in the output of perl -v.

- Miscellaneous minor corrections and updates were  made  to  the
documentation.

- Extensive updates were made to the OS/2 and VMS ports

- The following hints file were updated: bsdos.sh, dynixptx.sh,
  irix_6_2.sh, linux.sh, os2.sh

- Several changes were made to standard library files:
   - reduced use of English.pm and $`, $', and $& in library mod-
ules,
     since these degrade module loading and evaluation of regular
expressions,
     respectively.
   - File/Basename.pm: Added path separator to dirname('.')
   -  File/Copy.pm:  Added  support for VMS and OS/2 system-level
copy
   - MakeMaker updated to v5.26
   - Symbol.pm now accepts old (') and new  (::)  package  delim-
iters
   - Sys/Syslog.pm uses Sys::Hostname only when necessary
   - chat2.pl picks up necessary constants from socket.ph
   - syslog.pl: Corrected thinko 'Socket' --> 'Syslog'
   - xsubpp updated to v1.935


- The perlbug utility is now more cautious about sending mail, in
order
  to reduce the chance of accidentally send a bug report by  giv-
ing the
  wrong response to a prompt.

-  The -m switch has been added to perldoc, causing it to display
the
  Perl code in target file as well as any documentation.