Subject: Perl 5.005: Maintenance update 03 is available
From: Graham Barr <[email-masked]>
Date: Fri, 02 Apr 1999 00:42:08 GMT
Newsgroups: comp.lang.perl.moderated,comp.lang.perl.announce,comp.lang.perl.misc

The third maintenance update for Perl 5.005 was released on March 28 1999,
and is now available from the Comprehensive Perl Network Archive (CPAN)
sites worldwide.  To select from a list of sites, go to:

    http://www.perl.com/CPAN

Note the absence of a trailing `/'.  The actual file can be found at:

    http://www.perl.com/CPAN/authors/id/GBARR/perl5.005_03.tar.gz

This release is binary compatible with previous 5.005 releases.

For a brief overview of what is new in the 5.005 series and other
important information about reporting problems, see the release
announcement for 5.005:

    http://www.perl.com/CPAN/authors/id/GSAR/perl5.005.announce

More detailed information on changes can be found in "pod/perldelta.pod"
and "Changes" files in the distribution.

WARNING:  Perl 5.005 and later are NOT BINARY COMPATIBILE with releases
prior to 5.005.  You will need to recompile all extensions that require
a C compiler to build (i.e. those that contain XSUBs).  See the
"INSTALL" document for detailed instructions on how to cope.

If you like the spirit in which Perl is made, help cultivate that spirit.
Reveal the sources!  Set knowledge free!

--The Perl Porters

----------------------------------------------------------------------------
SUMMARY OF CHANGES IN MAINTENANCE UPDATE 3
----------------------------------------------------------------------------

CONFIGURATION CHANGES

    Possible to Configure so that installperl skips installing
    Perl into /usr/bin/perl (Configure -Uinstallusrbinperl)

NEW PLATFORM SUPPORT

    DYNIX/ptx: a high-availability UNIX variant from Sequent
    Computer Systems, http://www.sequent.com/

    GNU/Hurd: the GNU Project's replacement for UNIX kernel,
    http://www.gnu.org/software/hurd/hurd.html

    MiNT: an operating system extension that adds UNIX-like
    features to ATARI TOS.  Originally available only for
    m68k-based microcomputers sold by ATARI in the 80's
    but later available also for Mac and VME boards.
    More information available from
    http://www.modeemi.cs.tut.fi/~puujalka/mint.html

    Stratus VOS: a fault-tolerant OS from Stratus Computer,
    http://www.stratus.com/

    U/WIN: a UNIX compatibility environment for Windows NT,
    available from AT&T, http://www.research.att.com/sw/tools/uwin/

PLATFORM ENHANCEMENTS

    BeOS:     	  dynamic loading now supported (tested only on
                  BeOS R4 x86).

    SCO:      	  dynamic linking now supported.

    Linux: 	  now works with installations that have only installed
	   	  "runtime" versions (as opposed to "developer" versions)
		  of some libraries such as GDBM.

    FreeBSD: 	  4.0 supported.  ELF executable format supported.

    NetBSD: 	  those platforms that support shared libraries
            	  have the support now also in Perl.

    OpenSTEP 4.2: i386 machines are now better supported.

    NextSTEP: 	  SysV IPC (from ftp://ftp.nluug.nl/pub/comp/next/SysVIPC/)
              	  now supported.

    Win32: 	  sysread() and syswrite() now work on sockets.
           	  rename() works across drive boundaries on Windows NT and
		  is generally more compatible with its semantics on Unix.

    OS/2: 	  Numerous patches.

    EBCDIC: 	  Character class ranges ([a-z]) now work in non-ASCII
    		  platforms.

NEW MODULES

    Dumpvalue   Perl5 module replacement for old perl4 dumpvar.pl

UPDATED MODULES

    CPAN                1.48

    CGI                 2.46

    Data::Dumper        2.101

    Getopt::Long        2.19

    DB_File             1.65
    
    Test		1.122

    Benchmark           timesum() method added.
                        Can also run tests until N seconds.

    Config              $Config{sig_num_init} now contains
                        the signal numbers corresponding to
                        the signal names of $Config{sig_name_init}.

    Math::Complex       0**0 is now 1, not undefined.

    Math::Trig          Radial/spherical trigonometry functions added.

    Pod::Html           Locale-aware which e.g. means that =headN
                        can contain non-ASCII alphabetic characters.

    Pod::Text           Ditto.

    Carp                Added cluck() - warns with stacktrace

    MakeMaker           PL_FILES now supports multiple targets from a single
                        source

    AutoSplit           fixed to know that pod starts with /^=\w+/
                        (not just /^=/)

    FindBin             now works correctly with Win32 UNC pathnames

NEW DOCUMENTATION

    perlreftut  Tutorial on references.

    perlopentut Tutorial on open().

    perlthrtut  Tutorial on threads.

UPDATED DOCUMENTATION

    All Perl FAQs.

    Many typos fixed in the documentation of core modules.

    perlport    1.39

ENHANCED FUNCTIONS

    sort $coderef @array now works.

    sort() now respects overloading.

    If /dev/urandom is available as a source of random bits,
    Perl will use it automatically to seed the random number generator.
    Note: /dev/random is not used by default because it
    may block if not enough entropy is available.
    If you prefer Perl to block in such circumstances,
    you can compile Perl with -DPERL_RANDOM_DEVICE=\"/dev/random\".
    
    pack/unpack now support Z for null terminated ascii strings
    that are null padded

CHANGED BEHAVIOUR

    Better CR-handling on #! line and in formats.

    Overload syntax is no longer experimental.

    The LENGTH argument to syswrite() is now optional.

ENHANCED UTILITIES

    h2ph is now much more robust.

BUG FIXES

    Many multi-threading fixes. But multi-threading is still considered
    experimental.

    Work around a bug in Digital UNIX C compiler that caused
    the 'x' operator to produce garbage under certain circumstances.
    (This bug caused e.g. the tests of Digest::MD5 to fail.)

    The "Used only once" warning will now only be output once for each
    variable.

    With $/ set to undef, slurping an empty file returns a string of
    zero length (instead of undef, as it used to) for the first time the
    HANDLE is read.  Subsequent reads yield undef.

    $a and $b are only exempt from warnings if sort with a user specified
    subroutine has been seen.

SECURITY FIXES

    Setuid scripts from nosuid mounted filesystems now rejected.

    POSIX::strftime() buffer overflow avoided.

KNOWN PROBLEMS

    lib/anydbm...FAILED at test 12

        This test failure commonly encountered on glibc-2.1 systems where
        db won't accept a null key.

    ULTRIX /bin/sh
    
        Configure cannot be run on ULTRIX with /bin/sh, use sh5 instead.

    OS2 threads

        On OS2 the use of threads, socket and fork together causes a panic.

    sfio
    
        If perl is compiled with sfio op/die_exit.t fails all tests.

----------------------------------------------------------------------------
TESTED PLATFORMS
----------------------------------------------------------------------------

This release is known to build and pass all tests (with some noted
exceptions) on the following platforms:

    PLATFORM                    CC              OPTIONS
    --------                    --              -------

    AIX 4.2.1.0                 cc      
    AIX 4.2.1.0                 cc              -Doptimize=-O
    AIX 4.2.1.0                 cc_r            -Dusethreads
    AIX 4.2.1.0                 gcc 2.8.1
    AIX 4.1.5                   cc              -ders
    AIX 4.1.5                   xlc_r           -Dusethreads -ders
    alpha-dec_osf 4.0           cc      
    alpha-dec_osf 4.0           cc              -Dusethreads
    alpha-dec_osf 4.0           gcc 2.8.1
    alpha-dec_osf 5.0           cc      
    alpha-dec_osf 5.0           cc              -Dusethreads
    AT386-gnu i386 0.2          egcs-1.1.1
    AViiON-dgux r4.11mu02       gcc 2.6.3
    CRAY_J90-unicos 10.0.0.2    cc      
    Debian Linux 2.1            gcc 2.7.2.3     -ders -Dusethreads
                                                     -Doptimize=-g
    Digital UNIX 4.0D           cc              -ders
    Digital UNIX 4.0D           cc              -Dusethreads -ders
    Digital UNIX 4.0E           cc              -ders
    Digital UNIX 4.0E           cc              -Dusethreads -ders
    dynixptx i386 4.2.1         cc      
    FreeBSD i386 2.2.7-release  gcc 2.7.2.1
    FreeBSD i386 2.2.8-release  gcc 2.7.2.1
    FreeBSD i386 2.2.8-release  gcc 2.7.2.1     -Dusethreads
    FreeBSD i386 3.0-stable     gcc 2.7.2.1
    FreeBSD i386 3.0-stable     gcc 2.7.2.1     -Dusethreads
    FreeBSD i386 3.1-stable     gcc 2.7.2.1
    FreeBSD i386 3.1-stable     gcc 2.7.2.1     -Dusethreads
    FreeBSD i386 4.0-current    gcc 2.7.2.1
    FreeBSD i386 4.0-current    gcc 2.7.2.1     -Dusethreads
    HP-UX 11.0                  cc              -ders
    HP-UX 11.0                  cc              -Dusethreads -ders
    IP22-irix 5                 cc      
    IP32-irix 6.5               gcc 2.8.1
    IP32-irix 6.5               gcc 2.8.1       -Dusethreads
    IRIX 6.5                    cc              -ders
    IRIX 6.5                    cc              -Dusethreads -ders
    Linux i386 2.0.36           gcc 2.7.2.3
    Linux i386 2.0.36           gcc 2.7.2.3     -Dusethreads
    Linux i486 1.2.13           gcc 2.7.2.2
    Linux i586 2.2.0-pre2       gcc 2.7.2.3     -Dusethreads
    Linux i586 2.2.5            gcc 2.7.2.3
    Linux i586 2.2.5            gcc 2.7.2.3     -Dusethreads
    Linux i686 2.0.32           gcc 2.8.1
    Linux i686 2.0.36           egcs-1.1.1
    Linux i686 2.0.36           gcc 2.7.2.3
    Linux i686 2.0.36           gcc 2.7.2.3
    Linux i686 2.0.36           gcc 2.7.2.3     -Dusethreads
    Linux ppc 2.2.1             egcs-1.1.2
    Linux ppc 2.2.1             egcs-1.1.2      -Dusethreads
    machten powerpc 4.1.1       gcc 2.8.1
    NetBSD i386 1.3k            egcs-1.1.1
    NetBSD i386 1.3.2           gcc 2.7.2.2     -ders
    NetBSD mac68k 1.3k          egcs-1.1.1
    NetBSD macppc 1.3k          egcs-1.1.1
    NetBSD sparc 1.3.3          gcc 2.7.2.2+myc1
    Next OpenStep Mach          cc
    OpenBSD 2.5                 gcc 2.8.1
    OpenVMS Alpha 7.1           Dec C 6.0
    OpenVMS Alpha 7.1           Dec C 6.0       -Dusethreads
    OS2 2.30                    gcc 2.8.1
    OS390 05.00                 c89     
    OS390 06.00                 c89     
    PA-RISC2.0 11.00            egcs-1.1.2
    PA-RISC2.0 11.00            egcs-1.1.2      -Dusethreads
    powerux ppc 4.3             /bin/cc 
    RM400-svr4                  /bin/cc -W0     
    sco i386 3.2v5.0.4          cc      
    Solaris 2.3                 gcc 2.4.5
    Solaris 2.5.1               gcc 2.7.2
    Solaris 2.5.1               gcc 2.8.1
    Solaris 2.5.1               gcc 2.8.1       -Dusethreads
    Solaris 2.6                 gcc 2.7.2.3     -ders
    Solaris 2.6                 gcc 2.8.1
    Solaris 2.6                 gcc 2.8.1       -Dcc=gcc -ders
    Solaris 2.6                 gcc 2.8.1       -Dcc=gcc -Dusethreads -ders
    Solaris 2.6                 cc         
    Solaris 2.6                 egcs-1.1.1
    Solaris 2.6                 egcs-1.1.1      -Dusethreads
    Solaris 2.6                 gcc 2.8.1
    Solaris 2.7                 egcs-1.1.2
    Solaris 2.7                 SC5.0
    SunOS 4.1.3                 gcc 2.8.1
    SunOS 4.1.3_u1              gcc 2.8.1
    SunOS 4.1.4                 egcs-1.1.2
    svr4 i386                   /bin/cc 
    UNICOS 9.0.1ai              cc              -ders
    Windows NT 4.0              Borland 5.02    -DUSE_THREADS
    Windows NT 4.0              Borland 5.02    Debug
    Windows NT 4.0              Borland 5.02    Debug -DPERL_OBJECT -DPERLCRT
    Windows NT 4.0              VC 5.0          -DPERL_OBJECT -DPERLCRT
    Windows NT 4.0              VC 5.0          Debug -DUSE_THREADS
                                                    -DPERL_MALLOC
    Windows NT 4.0              VC 5.0          none
    Windows NT 4.0              VC 6.0          -DPERLCRT Optimise