man pages section 1: User Commands

Exit Print View

Updated: July 2014

perl5121delta (1)


perl5121delta - what is new for perl v5.12.1


Please see following description for synopsis


Perl Programmers Reference Guide                 PERL5121DELTA(1)

     perldelta - what is new for perl v5.12.1

     This document describes differences between the 5.12.0
     release and the 5.12.1 release.

     If you are upgrading from an earlier release such as 5.10.1,
     first read perl5120delta, which describes differences
     between 5.10.1 and 5.12.0.

Incompatible Changes
     There are no changes intentionally incompatible with 5.12.0.
     If any incompatibilities with 5.12.0 exist, they are bugs.
     Please report them.

Core Enhancements
     Other than the bug fixes listed below, there should be no
     user-visible changes to the core language in this release.

Modules and Pragmata
  Pragmata Changes
     o   We fixed exporting of "is_strict" and "is_lax" from

         These were being exported with a wrapper that treated
         them as method calls, which caused them to fail.  They
         are just functions, are documented as such, and should
         never be subclassed, so this patch just exports them
         directly as functions without the wrapper.

  Updated Modules
     o   We upgraded to version 3.49 to incorporate fixes
         for regressions introduced in the release we shipped
         with Perl 5.12.0.

     o   We upgraded Pod::Simple to version 3.14 to get an
         improvement to \C\<\< \>\> parsing.

     o   We made a small fix to the CPANPLUS test suite to fix an
         occasional spurious test failure.

     o   We upgraded Safe to version 2.27 to wrap coderefs
         retured by "reval()" and "rdo()".

Changes to Existing Documentation
     o   We added the new maintenance release policy to

     o   We've clarified the multiple-angle-bracket construct in
         the spec for POD in perlpodspec

perl v5.12.5         Last change: 2012-11-03                    1

Perl Programmers Reference Guide                 PERL5121DELTA(1)

     o   We added a missing explanation for a warning about ":="
         to perldiag.pod

     o   We removed a false claim in perlunitut that all text
         strings are Unicode strings in Perl.

     o   We updated the Github mirror link in perlrepository to
         mirrors/perl, not github/perl

     o   We fixed a a minor error in perl5114delta.pod.

     o   We replaced a mention of the now-obsolete with

     o   We improved documentation about
         $sitelibexp/ in perlrun.

     o   We corrected perlmodlib.pod which had unintentionally
         omitted a number of modules.

     o   We updated the documentation for 'require' in
         perlfunc.pod relating to putting Perl code in @INC.

     o   We reinstated some erroneously-removed documentation
         about quotemeta in perlfunc.

     o   We fixed an a2p example in perlutil.pod.

     o   We filled in a blank in perlport.pod with the release
         date of Perl 5.12.

     o   We fixed broken links in a number of perldelta files.

     o   The documentation for incorrectly stated that
         the $Carp::Verbose variable makes cluck generate stack

     o   We fixed a number of typos in Pod::Functions

     o   We improved documentation of case-changing functions in

     o   We corrected perlgpl.pod to contain the correct version
         of the GNU General Public License.

  Testing Improvements
     o   t/op/sselect.t is now less prone to clock jitter during
         timing checks on Windows.

         sleep() time on Win32 may be rounded down to multiple of
         the clock tick interval.

perl v5.12.5         Last change: 2012-11-03                    2

Perl Programmers Reference Guide                 PERL5121DELTA(1)

     o   lib/blib.t and lib/locale.t: Fixes for test failures on

     o   perl5db.t: Fix for test failures when
         "Term::ReadLine::Gnu" is installed.

Installation and Configuration Improvements
  Configuration improvements
     o   We updated INSTALL with notes about how to deal with
         broken dbm.h on OpenSUSE (and possibly other platforms)

Bug Fixes
     o   A bug in how we process filetest operations could cause
         a segfault.  Filetests don't always expect an op on the
         stack, so we now use TOPs only if we're sure that we're
         not stat'ing the _ filehandle.  This is indicated by
         OPf_KIDS (as checked in ck_ftst).

         See also:

     o   When deparsing a nextstate op that has both a change of
         package (relative to the previous nextstate) and a
         label, the package declaration is now emitted first,
         because it is syntactically impermissible for a label to
         prefix a package declaration.

     o   XSUB.h now correctly redefines fgets under

         See also:

     o   utf8::is_utf8 now respects GMAGIC (e.g. $1)

     o   XS code using "fputc()" or "fputs()": on Windows could
         cause an error due to their arguments being swapped.

         See also:

     o   We fixed a small bug in lex_stuff_pvn() that caused
         spurious syntax errors in an obscure situation.  It
         happened when stuffing was performed on the last line of
         a file and the line ended with a statement that lacked a
         terminating semicolon.

         See also:

     o   We fixed a bug that could cause \N{} constructs followed
         by a single . to be parsed incorrectly.

perl v5.12.5         Last change: 2012-11-03                    3

Perl Programmers Reference Guide                 PERL5121DELTA(1)

         See also:

     o   We fixed a bug that caused when(scalar) without an
         argument not to be treated as a syntax error.

         See also:

     o   We fixed a regression in the handling of labels
         immediately before string evals that was introduced in
         Perl 5.12.0.

         See also:

     o   We fixed a regression in case-insensitive matching of
         folded characters in regular expressions introduced in
         Perl 5.12.0.

         See also:

Platform Specific Notes
     o   Perl now allows -Duse64bitint without promoting to
         use64bitall on HP-UX

     o   Perl now builds on AIX 4.2

         The changes required work around AIX 4.2s' lack of
         support for IPv6, and limited support for POSIX

  FreeBSD 7
     o   FreeBSD 7 no longer contains /usr/bin/objformat. At
         build time, Perl now skips the objformat check for
         versions 7 and higher and assumes ELF.

     o   It's now possible to build extensions on older (pre
         7.3-2) VMS systems.

         DCL symbol length was limited to 1K up until about seven
         years or so ago, but there was no particularly deep
         reason to prevent those older systems from configuring
         and building Perl.

     o   We fixed the previously-broken "-Uuseperlio" build on

perl v5.12.5         Last change: 2012-11-03                    4

Perl Programmers Reference Guide                 PERL5121DELTA(1)

         We were checking a variable that doesn't exist in the
         non-default case of disabling perlio.  Now we only look
         at it when it exists.

     o   We fixed the -Uuseperlio command-line option in

         Formerly it only worked if you went through all the
         questions interactively and explicitly answered no.

Known Problems
     o   "List::Util::first" misbehaves in the presence of a
         lexical $_ (typically introduced by "my $_" or
         implicitly by "given"). The variable which gets set for
         each iteration is the package variable $_, not the
         lexical $_.

         A similar issue may occur in other modules that provide
         functions which take a block as their first argument,

             foo { ... $_ ...} list

         See also:

     o   "Module::Load::Conditional" and "version" have an
         unfortunate interaction which can cause "CPANPLUS" to
         crash when it encounters an unparseable version string.
         Upgrading to "CPANPLUS" 0.9004 or
         "Module::Load::Conditional" 0.38 from CPAN will resolve
         this issue.

     Perl 5.12.1 represents approximately four weeks of
     development since Perl 5.12.0 and contains approximately
     4,000 lines of changes across 142 files from 28 authors.

     Perl continues to flourish into its third decade thanks to a
     vibrant community of users and developers.  The following
     people are known to have contributed the improvements that
     became Perl 5.12.1:

     var Arnfjoer` Bjarmason, Chris Williams, chromatic, Craig A.
     Berry, David Golden, Father Chrysostomos, Florian Ragwitz,
     Frank Wiegand, Gene Sullivan, Goro Fuji, H.Merijn Brand,
     James E Keenan, Jan Dubois, Jesse Vincent, Josh ben Jore,
     Karl Williamson, Leon Brocard, Michael Schwern, Nga Tang
     Chan, Nicholas Clark, Niko Tyni, Philippe Bruhat, Rafael
     Garcia-Suarez, Ricardo Signes, Steffen Mueller, Todd
     Rinaldo, Vincent Pit and Zefram.

perl v5.12.5         Last change: 2012-11-03                    5

Perl Programmers Reference Guide                 PERL5121DELTA(1)

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.

     If the bug you are reporting has security implications,
     which make it inappropriate to send to a publicly archived
     mailing list, then please send it to This points to a closed
     subscription unarchived mailing list, which includes all the
     core committers, who be able to help assess the impact of
     issues, figure out a resolution, and help co-ordinate the
     release of patches to mitigate or fix the problem across all
     platforms on which Perl is supported. Please only use this
     address for security issues in the Perl core, not for
     modules independently distributed on CPAN.

     See attributes(5) for descriptions of the following

     |Availability   | runtime/perl-512 |
     |Stability      | Uncommitted      |
     The Changes file for an explanation of how to view
     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.

     This software was built from source available at  The original

perl v5.12.5         Last change: 2012-11-03                    6

Perl Programmers Reference Guide                 PERL5121DELTA(1)

     community source was downloaded from

     Further information about this software can be found on the
     open source community website at

perl v5.12.5         Last change: 2012-11-03                    7