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 the perl570delta manpage. To view the differences between the 5.7.0 release and the 5.7.1 release, see the perl571delta manpage. To view the differences between the 5.7.1 release and the 5.7.2 release, see the perl572delta manpage.)


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 the Changes manpage 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.

  1. add LC_MESSAGES to POSIX :locale_h export tag

  2. add DEL to [:cntrl:]

  3. make h2ph understand constants like 1234L and 5678LL

  4. Win32: fix bugs in handling of the virtualized environment

  5. fix a bug in the security taint checking of open()

  6. make perl fork() safe even on platforms that don't have pthread_atfork()

  7. make switching optimization and debugging levels during Perl builds easier via the OPTIMIZE environment variable

  8. make split()'s unused captures to be undef, not ''

  9. Search::Dict: allow transforming lines before comparing

  10. allow installing extra modules or bundles when building Perl

  11. add -Wall in cflags when compiling with gcc to weed out dubious C practices

  12. pluggable optimizer

  13. WinCE: integrate the port

  14. Win32: 4-arg select was broken

  15. introduce the perlivp utility for verifying the Perl installation (IVP = Installation Verification Procedure)

  16. rename lib/unicode to lib/unicore to avoid case-insensitivity problems with lib/Unicode

  17. remove Time::Piece

  18. document that use utf8 is not the right way most of the time

  19. 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)

  20. division preserving 64-bit integers

  21. document the coderef-in-@INC feature

  22. modulo (%) preserving 64-bit integers

  23. update to Unicode 3.1.1

  24. add the \[$@%&*] prototype support

  25. oct() and hex() in glorious 64 bit

  26. Class::Struct: allow recursive classes

  27. fix unpack U to be the reverse of pack U

  28. VMS: waitpid enhancements

  29. unpack(``Z*Z*'', pack(``Z*Z*'', ..)) was broken

  30. Devel::Peek: display UTF-8 SVs also as \x{...}

  31. Data::Dumper: option to sort hashes

  32. add perlpodspec

  33. threadsafe DynaLoader, re, Opcode, File::Glob, and B

  34. support BeOS better

  35. read-only hashes (user-level interface is Hash::Util)

  36. add Devel::PPPort

  37. add the sort pragma

  38. VMS: fix perl -P

  39. add perlpacktut

  40. SUPER-UX: add hints file

  41. Win32: non-blocking waitpid(-1,WNOHANG)

  42. introduce the -t option for gentler taint checking

  43. add the if pragma

  44. implement IV/UV/NV/long double un/packing with j/J/F/D

  45. 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 <>.