Newsgroups: comp.lang.perl.moderated,comp.lang.perl.announce,comp.lang.perl.misc From: Graham Barr Subject: Perl 5.005: Maintenance update 03 is available Date: Fri, 02 Apr 1999 00:42:08 GMT 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