perl573delta - what’s new for perl v5.7.3


This document describes differences between the 5.7.2 release and the 5.7.3 release.

(To view the differences between the 5.6.0 release and the 5.7.0 release, see perl570delta. To view the differences between the 5.7.0 release and the 5.7.1 release, see perl571delta. To view the differences between the 5.7.1 release and the 5.7.2 release, see perl572delta.)


This is just a selected list of some of the more notable changes. The numbers refer to the Perl repository change numbers; see Changes58 (or Changes in Perl 5.8.1). In addition to these changes, lots of work took place in integrating threads, PerlIO, and Unicode; general code cleanup; and last but not least porting to non-UNIX lands such as Win32, VMS, Cygwin, DJGPP, VOS, MacOS Classic, and EBCDIC.
11362 add LC_MESSAGES to POSIX :locale_h export tag
11371 add DEL to [:cntrl:]
11375 make h2ph understand constants like 1234L and 5678LL
11405 Win32: fix bugs in handling of the virtualized environment
11410 fix a bug in the security taint checking of open()
11423 make perl fork() safe even on platforms that don’t have pthread_atfork()
11459 make switching optimization and debugging levels during Perl builds easier via the OPTIMIZE environment variable
11475 make split()’s unused captures to be undef, not ’’
11485 Search::Dict: allow transforming lines before comparing
11490 allow installing extra modules or bundles when building Perl
11516 add -Wall in cflags when compiling with gcc to weed out dubious C practices
11541 pluggable optimizer
11549 WinCE: integrate the port
11589 Win32: 4-arg select was broken
11594 introduce the perlivp utility for verifying the Perl installation (IVP = Installation Verification Procedure)
11623 rename lib/unicode to lib/unicore to avoid case-insensitivity problems with lib/Unicode
111631 remove Time::Piece
11643 document that use utf8 is not the right way most of the time
11656 allow building perl with -DUSE_UTF8_SCRIPTS which makes UTF-8 the default script encoding (not the default since that would break all scripts having legacy eight-bit data in them)
11725 division preserving 64-bit integers
11743 document the coderef-in-@INC feature
11794 modulo (%) preserving 64-bit integers
11825 update to Unicode 3.1.1
11865 add the \[$@%&*] prototype support
11874 oct() and hex() in glorious 64 bit
11877 Class::Struct: allow recursive classes
11993 fix unpack U to be the reverse of pack U
12056 VMS: waitpid enhancements
12180 unpack(Z*Z*, pack(Z*Z*, ..)) was broken
12243 Devel::Peek: display UTF-8 SVs also as \x{...}
12288 Data::Dumper: option to sort hashes
12542 add perlpodspec
12652 threadsafe DynaLoader, re, Opcode, File::Glob, and B
12756 support BeOS better
12874 read-only hashes (user-level interface is Hash::Util)
13162 add Devel::PPPort
13179 add the sort pragma
13326 VMS: fix perl -P
13358 add perlpacktut
13452 SUPER-UX: add hints file
13575 Win32: non-blocking waitpid(-1,WNOHANG)
13684 introduce the -t option for gentler taint checking
14694 add the if pragma
14832 implement IV/UV/NV/long double un/packing with j/J/F/D
14854 document the new taint behaviour of exec LIST and system LIST

Reporting Bugs

If you find what you think is a bug, you might check the articles recently posted to the comp.lang.perl.misc newsgroup and the perl bug database at There may also be information at, the Perl Home Page.

If you believe you have an unreported bug, please run the perlbug program included with your release. Be sure to trim your bug down to a tiny but sufficient test case. Your bug report, along with the output of

perl -V
, will be sent off to to be analysed by the Perl porting team.


The Changes file for exhaustive details on what changed.

The INSTALL file for how to build Perl.

The README file for general stuff.

The Artistic and Copying files for copyright information.


Written by Jarkko Hietaniemi <>, with many contributions from The Perl Porters and Perl Users submitting feedback and patches.

Send omissions or corrections to <>.

openSUSE Logo