New Diagnostics New Errors Closure prototype called This error occurs when a subroutine reference ... entry containing an object with a destructor that creates a new entry containing an object etc.
New Diagnostics New Errors Closure prototype called This error occurs when a subroutine reference ... entry containing an object with a destructor that creates a new entry containing an object etc.
Internal Changes New APIs CLONE_PARAMS structure added to ease correct thread creation Modules that ... create threads should now create CLONE_PARAMS structures by calling the new function Perl_clone_params_new
perlmroapi This describes the new interface for pluggable Method Resolution Orders. ... perlthanks This describes the new perlthanks utility.
New or Changed Diagnostics New Diagnostics SV allocation tracing has been added to the diagnostics ... See perldiag for details of these new messages.
New tests lib/attrs Compatibility tests for sub : attrs vs the older use attrs. ... lib/env Tests for new environment scalar capability (e.g., use Env qw($BAR);).
New tests lib/attrs Compatibility tests for sub : attrs vs the older use attrs. ... lib/env Tests for new environment scalar capability (e.g., use Env qw($BAR);).
New Tests Several new tests have been added, especially for the lib and ext subsections. ... Many of the new tests are of course introduced by the new modules, but still in general Perl is now more
Calling conventions for newFOROP and newWHILEOP The way the parser handles labels has been cleaned up ... The newWHILEOP() and newFOROP() functions no longer accept a line number as a parameter.
New Diagnostics None
New Diagnostics New Errors Cannot set tied @DB::args This error occurs when caller tries to set @ ... Source filters apply only to byte streams This new error occurs when you try to activate a source filter
New Diagnostics New Errors Cannot set tied @DB::args This error occurs when caller tries to set @ ... Source filters apply only to byte streams This new error occurs when you try to activate a source filter
Documentation New Documentation None
Documentation New Documentation None
Documentation New Documentation None.
Documentation New Documentation perlhaiku contains instructions on how to build perl for the Haiku ... perlmroapi describes the new interface for pluggable Method Resolution Orders.
Platform Support New Platforms None
Platform Support New Platforms None
Platform Support New Platforms None
Platform Support New Platforms None.
New Documentation The perlpragma manpage documents how to write one's own lexical pragmas in pure Perl ... A new manual page, perlunifaq (the Perl Unicode FAQ), has been added (Juerd Waalboer).
New Tests There are significantly more tests for the B suite of modules.
New Warnings defined(@array) is deprecated The long-deprecated defined(@array) now also warns for ... length() used on %s This new warning occurs when length is used on an array or hash, instead of scalar
Documentation New Documentation perlunicook This document, by Tom Christiansen, provides examples
Platform Support New Platforms AIX Perl now builds on AIX 4.2 (5.12.1).
Documentation New Documentation perldtrace perldtrace describes Perl's DTrace support, listing the
New Documentation The perlglossary manpage is a glossary of terms used in the Perl documentation, technical
Documentation New Documentation perlgpl perlgpl has been updated to contain GPL version 1, as is included
New Platforms Compile support added for: DragonFlyBSD MidnightBSD MirOS BSD RISC OS Cray XT4/Catamount
New Diagnostics New Errors delete argument is index/value array slice, use array slice (F) You used
New Diagnostics New Errors delete argument is index/value array slice, use array slice (F) You used
New Documentation The documentation has been revised in places to produce more standard manpages.
New parser perl's parser is now generated by bison (it used to be generated by byacc.)
New Platforms Haiku Perl's developers have merged patches from Haiku's maintainers.
New Tests In Perl 5.8.0 there were about 69000 separate tests in about 700 test files, in Perl 5.8.1
Documentation New Documentation perlrepository This document was removed (actually, renamed perlgit
New Diagnostics New Errors Unterminated delimiter for here document This message now occurs when
New Diagnostics New Errors Unterminated delimiter for here document This message now occurs when
New Warnings "\b{" is deprecated; use "\b\{" instead "\B{" is deprecated; use "\B\{" instead Use
New Platforms BeOS is now supported. See README.beos. DOS is now supported under the DJGPP tools.
New Documentation As usual, the documentation received its share of corrections, clarifications and
Modules and Pragmata New Modules Module::Pluggable is a simple framework to create modules that accept
New Tests Many modules updated from CPAN incorporate new tests. ... t/lib/proxy_constant_subs.t Tests for the new form of constant subroutines.
New Modules and Pragmata arybase -- this new module implements the $[ variable. ... The mmap PerlIO layer is no longer implemented by perl itself, but has been moved out into the new PerlIO
Modules and Pragmata New Modules and Pragmata This release does not introduce any new modules or pragmata
New or Changed Diagnostics The fatal error "DESTROY created new reference to dead object" is now documented
New Documentation perl573delta has been added to list the differences between the (now quite obsolete
Platform Support New Platforms Android Perl can now be built for Android, either natively or through
New DTrace probes The following new DTrace probes have been added: op-entry loading-file loaded-file
New Configure flags The following new flags may be enabled on the Configure command line by running ... usemultiplicity usethreads useithreads (new interpreter threads: no Perl API yet) usethreads
New Configure flags The following new flags may be enabled on the Configure command line by running ... usemultiplicity usethreads useithreads (new interpreter threads: no Perl API yet) usethreads
New Pad API Many new functions have been added to the API for manipulating lexical pads.
New slice syntax The new %hash{...} and %array[...] syntax returns a list of key/value (or index/value
Modules and Pragmata New Modules B Perl compiler and tools. See B.
New or Changed Diagnostics Attempt to set length of freed array This is a new warning, produced in
New Tests Perl's developers have added a number of new tests to the core. ... In addition to the items listed below, many modules updated from CPAN incorporate new tests.
New or Changed Diagnostics New Diagnostics SV allocation tracing has been added to the diagnostics ... See perldiag for details of these new messages.
New Tests Many modules updated from CPAN incorporate new tests.
New Documentation perl56delta details the changes between the 5.005 release and the 5.6.0 release. ... perlnewmod tells about writing and submitting a new module. [561+] perlpacktut is a pack() tutorial.
New or Changed Diagnostics panic: sv_chop %s This new fatal error occurs when the C routine Perl_sv_chop
New and changed syntax $coderef->(PARAMS) A subroutine reference may now be suffixed with an arrow ... This new syntax follows the pattern of $hashref->{FOO} and $aryref->[$foo]: You may now write &$subref
Modules and Pragmata New Modules and Pragmata None
Modules and Pragmata New Modules and Pragmata None
Modules and Pragmata New Modules and Pragmata None
New C APIs See "Internal Changes".
Modules and Pragmata New Modules and Pragmata None
New or Changed Diagnostics There is a new taint error, "%ENV is aliased to %s".
Modules and Pragmata New Modules and Pragmata autodie This is a new lexically-scoped alternative
New or Changed Diagnostics All the warnings related to pack() and unpack() were made more informative
New or Changed Diagnostics Carp and the internal diagnostic routines used by Devel::Peek have been made
New or Changed Diagnostics Use of uninitialized value Perl will now try to tell you the name of the ... ~ A new warning, !=~ should be !
New or Changed Diagnostics panic: sv_chop %s This new fatal error occurs when the C routine Perl_sv_chop
New or Changed Diagnostics For -t and -T, Too late for "-T" option has been changed to the more informative
Modules and Pragmata New Modules and Pragmata experimental 0.007 has been added to the Perl core.
New INIT keyword INIT subs are like BEGIN and END, but they get run just before the perl runtime begins
New Pragma, mro A new pragma, mro (for Method Resolution Order) has been added.
New qr// operator The qr// operator, which is syntactically similar to the other quote-like operators
Modules and Pragmata New Modules and Pragmata Config::Perl::V version 0.16 has been added as a dual-lifed
New lock keyword The lock keyword is the fundamental synchronization primitive in threaded perl.
Modules and Pragmata New Modules and Pragmata autodie autodie is a new lexically-scoped alternative
New descriptions in perldiag The following existing diagnostics are now documented: Ambiguous use
New hash functions Perl v5.18 includes support for multiple hash functions, and changed the default
New Warnings 'Strings with code points over 0xFF may not be mapped into in-memory file handles' '%
New modules encoding::warnings, by Audrey Tang, is a module to emit warnings whenever an ASCII character
New internal variables ${^CHILD_ERROR_NATIVE} This variable gives the native status returned by the
New Diagnostics Several new conditions will trigger warnings that were silent before. ... The following new warnings and errors outline these.
New internal variables ${^RE_DEBUG_FLAGS} This variable controls what debug flags are in effect for
New type SVt_BIND A new type SVt_BIND has been added, in readiness for the project to implement Perl
New parsing functions Several functions have been added for parsing Perl statements and expressions.
Hash::Util is the interface to the new restricted hashes feature. ... sort is a new pragma for controlling the behaviour of sort().
New or Changed Diagnostics Perl -V has several improvements correctly outputs local patch names that
New Or Improved Platforms Perl has been reported to work on Symbian OS.
New Warnings %s on reference is experimental: The "auto-deref" feature is experimental.
About the new versioning system Perl is now developed on two tracks: a maintenance track that makes ... Perl 5.005 is the combined product of the new dual-track development scheme.
New or Changed Diagnostics Please see perldiag for more details. ... Warnings relating to the use of the new restricted hashes feature have been added.
New "Pseudo-hashes are deprecated" This warning should have been already in 5.8.0, since they are.
New and Improved Built-ins More consistent eval The eval operator sometimes treats a string argument ... The new unicode_eval and evalbytes features (enabled under use 5.16.0) resolve this.
New Unicode Properties Unicode scripts are now supported.
New Diagnostics Ambiguous call resolved as CORE::%s(), qualify as such or use & (W) A subroutine you
New and changed builtin constants __PACKAGE__ The current package name at compile time, or the undefined
New Or Improved Platforms For the list of platforms known to support Perl, see "Supported Platforms" ... AtheOS ( http://www.atheos.cx/ ) is a new platform. BeOS has been reclaimed.
New builtin methods The UNIVERSAL package automatically contains the following methods that are inherited
New and changed builtin variables $^E Extended error message on some platforms. ... Not actually new, but newly documented.
Core Enhancements New mechanism for experimental features Newly-added experimental features will now ... experimental::feature_name"; use feature "feature_name"; # would warn without the prev line There is a new
New global variable ${^GLOBAL_PHASE} A new global variable, ${^GLOBAL_PHASE}, has been added to allow
Modules and Pragmata New Modules and Pragmata CPAN::Meta::YAML 0.003 has been added as a dual-life
It is the recommended method for new code. ... (Not actually new; just never documented before.)
New Opcode module and revised Safe module A new Opcode module supports the creation, manipulation and ... The revised Safe module has a new API and is implemented using the new Opcode module.
New "Illegal declaration of anonymous subroutine" You must specify the block of code for sub.
New "Use of freed value in iteration" Something modified the values being iterated over.
New "read() on %s filehandle %s" You cannot read() (or sysread()) from a closed or unopened filehandle
New "5.005 threads are deprecated" This warning should have been already in 5.8.0, since they are.
New -E command-line switch -E is equivalent to -e, but it implicitly enables all optional features (
Core Enhancements New package NAME VERSION syntax This new syntax allows a module author to set the ... However, package NAME VERSION requires a new, 'strict' version number format.
New option for the debugger's t command The t command in the debugger, which toggles tracing mode, now
New support for Abstract namespace sockets Abstract namespace sockets are Linux-specific socket type
New pv_escape option for hexadecimal escapes A new option, PERL_PV_ESCAPE_NONASCII, has been added to
New functions for finding and removing magic The mg_findext() and sv_unmagicext() functions have been
New or Changed Diagnostics "%s" variable %s masks earlier declaration in same %s (W misc) A "my" or ... written something like this: sub doit { use attrs qw(locked); } You should use the new
New or Changed Diagnostics "%s" variable %s masks earlier declaration in same %s (W misc) A "my" or ... written something like this: sub doit { use attrs qw(locked); } You should use the new
New "Missing control char name in \c" Self-explanatory.
Relaxed new mandatory warnings introduced in 5.004 Many new warnings that were introduced in 5.004 have ... See "New Diagnostics".
New "To%s: illegal mapping '%s'" An illegal user-defined Unicode casemapping was specified.
New non-magical variants of existing functions The following functions/macros have been added to the ... sv_collxfrm_flags In some of these cases, the non-_flags functions have been replaced with wrappers around the new
New syntax for declaring subroutine attributes Formerly, if you wanted to mark a subroutine as being
New syntax for declaring subroutine attributes Formerly, if you wanted to mark a subroutine as being
New "Newline in left-justified string for %s" The padding spaces would appear after the newline, which
New variable $^C reflects -c switch $^C has a boolean value that reflects whether perl is being run
New variable $^C reflects -c switch $^C has a boolean value that reflects whether perl is being run
New "Tied variable freed while still in use" Something pulled the plug on a live tied variable, Perl
New \p{Unicode} regular expression pattern property This is a synonym for \p{Any} and matches the set
New "Possible precedence problem on bitwise %c operator" If you think this $x & $y == 0 tests
New variable $^V contains Perl version as a string $^V contains the Perl version number as a string
New variable $^V contains Perl version as a string $^V contains the Perl version number as a string
New warnings categories for problematic (non-)Unicode code points. ... Three new warnings subcategories of "utf8" have been added.
New function fc and corresponding escape sequence \F for Unicode foldcase Unicode foldcase is an extension ... Now it is available explicitly through the new fc function call (enabled by "use feature 'fc'", or use
New Unicode Semantics (no more use utf8, almost) Previously in Perl 5.6 to use Unicode one would say
New Restrictions in Multi-Character Case-Insensitive Matching in Regular Expression Bracketed Character ... However, a new restriction is being added on such matches when they occur in [bracketed] character classes
Highlights In 5.8.0 Better Unicode support New IO Implementation New Thread Implementation Better ... Numeric Accuracy Safe Signals Many New Modules More Extensive Regression Testing
Modules and Pragmata New Modules and Pragmata This release does not introduce any new modules or pragmata
Internal Changes New APIs CLONE_PARAMS structure added to ease correct thread creation Modules that ... create threads should now create CLONE_PARAMS structures by calling the new function Perl_clone_params_new
Internal Changes New APIs CLONE_PARAMS structure added to ease correct thread creation Modules that ... create threads should now create CLONE_PARAMS structures by calling the new function Perl_clone_params_new
The recommended way to write barewords in the indirect object slot is new Foo:: @args. ... Note that the method new() is called with a first argument of Foo, not Foo:: when you do that.
Changes to Existing Documentation perldata New sections have been added to document the new index/
Changes to Existing Documentation perldata New sections have been added to document the new index/
perlxstypemap The new manual describes the XS typemapping mechanism in unprecedented detail and combines ... new documentation with information extracted from perlxs and the previously unofficial list of all core
New or Changed Diagnostics Attempt to set length of freed array This is a new warning, produced in
This error is not new, but was not previously documented here. ... This error is not new, but was not previously documented here.
Some new keywords have been introduced. ... See "New INIT keyword", "New lock keyword", and "New qr// operator".
Improved IPv6 support The Socket module provides new affordances for IPv6, including implementations ... Socket::getaddrinfo() and Socket::getnameinfo() functions, along with related constants and a handful of new
perldebug Although not new, this has been massively updated. ... perlsec Although not new, this has been massively updated.
This is so that when new modifiers are added, such code won't have to keep changing each time this happens ... , because the stringification will automatically incorporate the new modifiers.
New or Changed Diagnostics panic: sv_chop %s This new fatal error occurs when the C routine Perl_sv_chop
PERL_DONT_CREATE_GVSV The new compilation flag PERL_DONT_CREATE_GVSV, introduced as an option in perl ... It prevents perl from creating an empty scalar with every new typeglob.
The new API macro newSVpvs() can be used in place of constructions such as newSVpvn("ISA", 3). ... The new API function Perl_newSV_type() can be used as a more efficient replacement of the common idiom
This will make it easier to add new properties of custom ops in the future. ... Two new properties have been added already, xop_class and xop_peep.
Creating a new thread when directory handles were open used to cause a crash, because the handles were ... not cloned, but simply passed to the new thread, resulting in a double free.
Regular Expressions Perl's regular expression engine has been seriously overhauled, and many new constructs ... >RE) \z New operator for precompiled regular expressions See "New qr// operator".
Pluggable keywords Extension modules can now cleanly hook into the Perl parser to define new kinds of ... The Perl core source distribution also includes a new module XS::APItest::KeywordRPN, which implements
Each new perl version tends to remove some undesirable warnings, while adding new warnings that may catch
my $old = "cat"; my $new = $old =~ s/cat/dog/r; # $old is "cat" and $new is "dog" This is particularly
Where possible, buffered data discarded from duped input filehandle open(NEW, "<&OLD") now attempts ... On platforms where doing this is allowed, the next read operation on NEW will return the same data as
Where possible, buffered data discarded from duped input filehandle open(NEW, "<&OLD") now attempts ... On platforms where doing this is allowed, the next read operation on NEW will return the same data as
Hints hash API A new C API for introspecting the hinthash %^H at runtime has been added. ... A new, experimental API has been added for accessing the internal structure that Perl uses for %^H.
.; { local @a; # here, @a is a now a new, untied array } # here, ... @a refers again to the old, tied array Earlier versions of Perl incorrectly tied the new local array
.; { local @a; # here, @a is a now a new, untied array } # here, ... @a refers again to the old, tied array Earlier versions of Perl incorrectly tied the new local array
New XSUBs now produce redefinition warnings if they overwrite existing subs, as they did in 5.8.x. ... newCONSTSUB used to use compile-time warning hints, instead of run-time hints.
The function Perl_newSVpvn_flags() has been added, equivalent to Perl_newSVpvn() and then performing ... A wrapper, newSVpvn_utf8() is available for this. SVs_TEMP Call sv_2mortal() on the new SV.
Documentation New Documentation None
Documentation New Documentation None
Diagnostics No new or changed diagnostics.
Documentation New Documentation None.
A new macro, CvGV_set(cv,gv) has been introduced to run this operation safely. ... Note that modification of this field is not part of the public API, regardless of this new macro (and
The technical content has been moved to several new documents, perlsource, perlinterp, perlhacktut, and ... This new document is just a how-to on using git with the Perl source code.
Documentation New Documentation perlhaiku contains instructions on how to build perl for the Haiku ... perlmroapi describes the new interface for pluggable Method Resolution Orders.
Platform Support New Platforms None
Known Problems There are no new known problems.
Platform Support New Platforms None
Platform Support New Platforms None
Platform Support New Platforms None.
Modules and Pragmata New Modules and Pragmata None
Modules and Pragmata New Modules and Pragmata None
Modules and Pragmata New Modules and Pragmata None
Modules and Pragmata New Modules and Pragmata None
The new qsort() is resistant to inconsistent comparison functions, so Perl's sort() will not provoke ... In our testing, the new qsort() required the minimal number of pair-wise compares on average, among all
Pragmata Changes feature The new pragma feature is used to enable new features that might break old ... mro This new pragma enables to change the algorithm used to resolve inherited methods.
It comes with the new Digest::SHA module. ... Use the new -a option to run all tests.
local($_) strips all magic from $_ local() on scalar variables gives them a new value but keeps all ... Therefore, as an exception to the general rule, local($_) will not only assign a new value to $_, but
Code parsing this output, should it exist, must change to accommodate the new format. ... Example of the new format: $ PERL_HASH_SEED_DEBUG=1 .
; # old way push $obj->tags, $new_tag; # new way for ( keys %{$hoh->{genres}{artists}} ) {. ... ..} # old way for ( keys $hoh->{genres}{artists} ) {...} # new way
; # old way push $obj->tags, $new_tag; # new way for ( keys %{$hoh->{genres}{artists}} ) {. ... ..} # old way for ( keys $hoh->{genres}{artists} ) {...} # new way
A new special variable, ${^RE_TRIE_MAXBUF}, has been added to fine-tune this optimization. ... Often the tricks used to do so will disable the new optimisations.
Support for More Operating Systems Support for the following operating systems is new in Perl 5.004.
Documentation New Documentation perlunicook This document, by Tom Christiansen, provides examples
Documentation New Documentation perlunicook This document, by Tom Christiansen, provides examples
Modules and Pragmata New Modules and Pragmata autodie This is a new lexically-scoped alternative
Ubuntu Linux The ODBM_File installation process has been updated with the new library paths on Ubuntu
ptargrep ptargrep is a new utility to apply pattern matching to the contents of files in a tar archive
Platform Support New Platforms AIX Perl now builds on AIX 4.2 (5.12.1).
Documentation Changes to Existing Documentation perlcheat perlcheat has been reorganized, and a few new
Documentation Changes to Existing Documentation perlcheat perlcheat has been reorganized, and a few new
Documentation Changes to Existing Documentation perlcheat perlcheat has been reorganized, and a few new
Utility Changes Perl has a new -dt command-line flag, which enables threads support in the debugger.
Platform Specific Notes Linux Support Ubuntu 11.04's new multi-arch library layout.
Unicode Support Supports (almost) Unicode 6.1 Besides the addition of whole new scripts, and new characters ... in existing scripts, this new version of Unicode, as always, makes some changes to existing characters
Unicode Support Supports (almost) Unicode 6.1 Besides the addition of whole new scripts, and new characters ... in existing scripts, this new version of Unicode, as always, makes some changes to existing characters
Core Enhancements The feature pragma The feature pragma is used to enable new syntax that would break ... Currently the following new features are available: switch (adds a switch statement), say (adds a say
Core Enhancements The feature pragma The feature pragma is used to enable new syntax that would break ... Currently the following new features are available: switch (adds a switch statement), say (adds a say
perlootut This a new OO tutorial.
Documentation New Documentation perldtrace perldtrace describes Perl's DTrace support, listing the
Documentation New Documentation perldtrace perldtrace describes Perl's DTrace support, listing the
FETCHSIZE returned a negative value New error indicating that a tied array has claimed to have a negative
Utility Changes find2perl enhancements find2perl has new options -iname, -path and -ipath.
Utility Changes find2perl enhancements find2perl has new options -iname, -path and -ipath.
perllol perllol has been expanded with examples using the new push $scalar syntax introduced in Perl
perl5db.pl The remote terminal works after forking and spawns new sessions, one per forked process.
perlpodstyle New style guide for POD documentation, split mostly from the NOTES section of the pod2man
New in Unicode 6.0, this is an improved Script property. Details are in "Scripts" in perlunicode.
${^LAST_FH} This new variable provides access to the filehandle that was last read.
New and Improved Built-ins More consistent eval The eval operator sometimes treats a string argument ... The new unicode_eval and evalbytes features (enabled under use 5.16.0) resolve this.
passed to version->new was actually "\376\375\374". ... version->new("version") and printf "%vd", "version" no longer crash [perl #102586].
pack() format 'Z' supported The new format type 'Z' is useful for packing and unpacking null-terminated
pack() format 'Z' supported The new format type 'Z' is useful for packing and unpacking null-terminated
Math::Trig This new module provides a simpler interface to parts of Math::Complex for those who need
Known Problems There are no new known problems, but consult "Known Problems" in perl5160delta to see
The function Perl_newSV_type(type) has been added, equivalent to Perl_newSV() followed by Perl_sv_upgrade ... The function Perl_newSVpvn_flags() has been added, equivalent to Perl_newSVpvn() and then performing
h2xs uses the new ExtUtils::Constant module which will affect newly created extensions that define constants ... Since the new code is more correct (if you have two constants where the first one is a prefix of the
[RT #40708] A new entry has been added to the MAGIC vtable - svt_local. ... This is used when copying magic to the new value during local, allowing certain problems with localising
Documentation New Documentation perlgpl perlgpl has been updated to contain GPL version 1, as is included
Documentation New Documentation perlgpl perlgpl has been updated to contain GPL version 1, as is included
perllol perllol has been expanded with examples using the new push $scalar syntax introduced in Perl
There is also a new base class for TIEARRAY implementations. See Tie::Array.
perlivp enhancements perlivp implements new option -a and will not check for *.ph files by default any
See http://unicode.org/versions/Unicode6.0.0/ for details on the new release. ... Perl does not support any Unicode provisional properties, including the new ones for this release.
See http://unicode.org/versions/Unicode6.0.0/ for details on the new release. ... Perl does not support any Unicode provisional properties, including the new ones for this release.
Core Enhancements New package NAME VERSION syntax This new syntax allows a module author to set the ... However, package NAME VERSION requires a new, 'strict' version number format.
supported The new format type modifier '!'
supported The new format type modifier '!'
Dsitelib or -Dsitearch to set special values for library directories, you might wish to consider using the new ... earlier version of perl, you should be sure to check that Configure makes sensible choices for the new
Dsitelib or -Dsitearch to set special values for library directories, you might wish to consider using the new ... earlier version of perl, you should be sure to check that Configure makes sensible choices for the new
The ... operator A new operator, ..., nicknamed the Yada Yada operator, has been added.
say() say() is a new built-in, only available when use feature 'say' is in effect, that is similar to
Byte/character count feature in unpack() A new unpack() template character, ".
New sections on Read-Only Values and Copy on Write have been added.
Modules and Pragmata New Modules and Pragmata experimental 0.007 has been added to the Perl core.
in new operators. The match-once functionality is still available as m?PATTERN?.
__SUB__ The new __SUB__ token, available under the current_sub feature (see feature) or use v5.16, returns
Invalid escape in the specified encoding in regexp; marked by <-- HERE in m/%s/ New error, introduced
Support for interpolating named characters The new \N escape interpolates named characters within strings
Support for interpolating named characters The new \N escape interpolates named characters within strings
This feature introduces three new keywords, given, when, and default: given ($foo) { when ... match is called smart match, and it's also possible to use it outside of switch statements, via the new
The new behavior is to produce an empty list if (and only if) the original list was empty. ... The new behavior ensures it has three undefined elements.
The new behavior is to produce an empty list if (and only if) the original list was empty. ... The new behavior ensures it has three undefined elements.
The following pod documents are brand new: perlclib Internal replacements for standard C library ... perlebcdic Considerations for running Perl on EBCDIC platforms perlnewmod Perl modules: preparing a new
code, for instance: $glob = *foo; *$glob = *bar; The *$glob on the second line returns a new ... That new glob is made an alias to *bar. Then it is discarded.
is now possible for XS code to hook into Perl's lexical scope mechanism at compile time, using the new
Deprecation Warnings There is one new feature deprecation.
@- and @+ provide starting/ending offsets of regex matches The new magic variables @- and @+ provide
@- and @+ provide starting/ending offsets of regex submatches The new magic variables @- and @+ provide
This new way is more efficient, and in many cases easier to read. ... In code, the new magical hashes %+ and %- can be used to access the contents of the capture buffers.
zipdetails This is a new utility, included as part of an IO::Compress::Base upgrade.
panic: attempt to call %s in %s This new fatal error occurs when the ACL version file test operator
It now reports the current internal type, and the new type requested.
The -M, -a, -k, and -o options are new.
The -M, -a, -k, and -o options are new.
The major reason for the discontinuity is the new IO architecture called PerlIO. ... PerlIO is the default configuration because without it many new features of Perl 5.8 cannot be used.
The major reason for the discontinuity is the new IO architecture called PerlIO. ... PerlIO is the default configuration because without it many new features of Perl 5.8 cannot be used.
Default installation structure has changed The new Configure defaults are designed to allow a smooth
For new projects the core perl team strongly recommends that you use dedicated, single purpose security
Mathoms A new file, mathoms.c, has been added.
perl_eval_pv A new function handy for eval'ing strings of Perl code inside C code. ... New extensions must use the new hash access functions and macros if they wish to use SV* keys.
variable introduced after Perl 5.000 notes the first version in which it is available. perlvar also has a new
No new syntax is involved: the Hash::Util module is the interface.
Maximal count of pending signals (%s) exceeded This new fatal error occurs when the perl process has
The new flags are documented in perlapi. ... Code that requires the problematic code points to be rejected needs to change to use the new flags.
Creating a BEGIN block from XS code (via newXS or newATTRSUB) would, on completion, make the hints of
perlthanks Perl 5.8.9 adds a new utility perlthanks, which is a variant of perlbug, but for sending
Their use is discouraged in new code, particularly PL_na, which is a small performance hit.
Modules and Pragmata New Modules and Pragmata Config::Perl::V version 0.16 has been added as a dual-lifed
perlguts A new section, Autoloading with XSUBs, has been added, which explains the two APIs for accessing
Steve Peters provided new *_set macros and reworked the core to use these rather than assigning to macros
(The good news is that B::Bytecode and ByteLoader are better than they used to be.)
Byte-order modifiers for pack() and unpack() There are two new byte-order modifiers, > (big-endian)
Stacked filetest operators As a new form of syntactic sugar, it's now possible to stack up filetest
Utility Changes h2xs enhancements h2xs implements new option --use-xsloader to force use of XSLoader
Utility Changes h2xs enhancements h2xs implements new option --use-xsloader to force use of XSLoader
C Source Compatibility There have been a large number of changes in the internals to support the new ... New extensions should not refer to perl globals by their unqualified names.
OpenBSD OpenBSD > 3.7 has a new malloc implementation which is mmap-based, and as such can release
Two new severe warnings, $#/$* is no longer supported, have been added.
These are not new failures--Perl 5.005_0x has the same bugs, but didn't have these tests.
These are not new failures--Perl 5.005_0x has the same bugs, but didn't have these tests.
Cwd upgraded to version 3.01 (as part of the new PathTools distribution) Devel::PPPort upgraded to version ... 3.03 File::Spec upgraded to version 3.01 (as part of the new PathTools distribution) Encode upgraded
Use the new is_utf8_char_buf(), utf8_to_uvchr_buf() and utf8_to_uvuni_buf() instead.
A new command-line option, -t is available. ... It will be called in the context of the new thread, so all modifications are made in the new area.
A new utility, prove, makes it easy to run an individual regression test at the command line. prove is
Malformed UTF-8 input could cause attempts to read beyond the end of the buffer Two new XS-accessible
Performance Enhancements A new internal cache means that isa() will often be faster.
typeglobs The *{...} operator, when passed a reference to an IO thingy (as in *{*STDIN{IO}}), creates a new
We're happy to announce that Perl 5.12 includes support for several new platforms.
GvCV() and GvGP() are no longer lvalues The new GvCV_set() and GvGP_set() macros are now provided to
fire when the interpreter's phase changes, which tracks the ${^GLOBAL_PHASE} variable. arg0 is the new
Documentation New Documentation perlrepository This document was removed (actually, renamed perlgit
Documentation New Documentation perlrepository This document was removed (actually, renamed perlgit
perlvar A new section explaining the performance issues of $`, $& and $', including workarounds and
warnings warnings has a new warnings::fatal_enabled() function. ... It also includes a new illegalproto warning category.
Sends converted HTML to standard output The pod2html utility included with Perl 5.004 is entirely new
Sends converted HTML to standard output The pod2html utility included with Perl 5.004 is entirely new
If you wish to update one of these modules, you don't need to wait for a new perl release.
A new field, ^*, can be used for variable-width, one-line-at-a-time text.
UNIVERSAL::DOES() The UNIVERSAL class has a new method, DOES().
If you wish to update one of these modules, you don't need to wait for a new perl release.
Under the "lexical_subs" feature they have new meanings described in "Lexical Subroutines" in perlsub
Core Enhancements New mechanism for experimental features Newly-added experimental features will now ... experimental::feature_name"; use feature "feature_name"; # would warn without the prev line There is a new
A new optional location for Perl libraries, otherlibdirs, is available. ... In addition to config.over, a new override file, config.arch, is available.
A new optional location for Perl libraries, otherlibdirs, is available. ... In addition to config.over, a new override file, config.arch, is available.
Security Digest unsafe use of eval (CVE-2011-3597) The Digest->new() function did not properly sanitize
Security Digest unsafe use of eval (CVE-2011-3597) The Digest->new() function did not properly sanitize
\o{...} for octals There is a new octal escape sequence, "\o", in doublequote-like contexts.
This will be changed in a future release, but we don't know yet what the new semantics will exactly be
A proper interface for pluggable Method Resolution Orders As of Perl 5.10.1 there is a new interface
sv_usepvn_flags - Fix documentation to mention the use of NewX instead of malloc.
sv_usepvn_flags - Fix documentation to mention the use of NewX instead of malloc.
sv_usepvn_flags - Fix documentation to mention the use of NewX instead of malloc.
ithreads The new interpreter threads ("ithreads" for short) implementation of multithreading, by Arthur
A proper interface for pluggable Method Resolution Orders As of Perl 5.12.0 there is a new interface
Modules and Pragmata New Modules and Pragmata autodie autodie is a new lexically-scoped alternative
However, the new safer model has its problems too. ... In completely unrelated news, you can now use safe signals with POSIX::SigAction.
Compilation option: Binary compatibility with 5.003 There is a new Configure question that asks if you
interpolated Regular expressions compiled under use locale now retain this when interpolated into a new
Patches have been submitted, so there will hopefully be new releases soon: Data::Structure::Util version
Non-string passed as bitmask This is a new warning, produced when number has been passed as a argument
We suggest, but do not require, that you use the IO::* modules in new code.
Note that the new semantics doesn't work with the Attribute::Handlers module (as of version 0.76).
The _ prototype A new prototype character has been added. _ is equivalent to $ but defaults to $_ if
UNITCHECK blocks UNITCHECK, a new special code block has been introduced, in addition to BEGIN, CHECK
Licensing Perl has a new Social Contract for contributors. See Porting/Contract.
perlref has a new Circular References section explaining how circularities may not be freed and how to
perlcc, a new experimental front end for the compiler is available.
Modules and Pragmata New Modules Module::Pluggable is a simple framework to create modules that accept
.); and a few new variants of some C1 full names that are in common usage. ... The new function charnames::string_vianame() is a run-time version of \N{NAME}}, returning the string
As of this release, version declarations like use v5.16 now disable all features before enabling the new ... declaration, even when they come first: no strict; use 5.012; # no strict here There is a new
As of this release, version declarations like use v5.16 now disable all features before enabling the new ... declaration, even when they come first: no strict; use 5.012; # no strict here There is a new
(Steve Peters) d_pseudofork and d_printf_format_null A new configuration variable, available as $Config ... A new configuration variable, d_printf_format_null, has been added, to see if printf-like formats are
(Steve Peters) d_pseudofork and d_printf_format_null A new configuration variable, available as $Config ... A new configuration variable, d_printf_format_null, has been added, to see if printf-like formats are
Now it has been replaced with a new GV_ADDMG flag (not part of the API). ... Two new functions utf8_to_uvchr_buf() and utf8_to_uvuni_buf() have been added.
Perldoc POSIX Unicode::Collate Unicode::Normalize Test::Harness threads::shared cond_wait has a new
Instead, you should use the new functions in Unicode::UCD.
Instead, you should use the new functions in Unicode::UCD.
state() variables A new class of variables has been introduced.
A new op type, OP_PADRANGE has been introduced. ... A new function alloccopstash has been added to the API, but is considered experimental.
The new behaviour in the absence of a SCALAR method is to return TRUE if in the middle of an each iteration
Users can use the new XS_EXTERNAL(name) and XS_INTERNAL(name) macros to pick the desired linking behavior
The new APIs are experimental, and only cover a small proportion of what would be necessary to take full
Defined-or operator A new operator // (defined-or) has been implemented.
The old size was 1008 bytes, the new default size is 4080 bytes.
Because of various ambiguities, you should use the new \o{...} construct to represent characters in octal
They need to be recompiled against the new Perl.
For the new life of this switch, see "UTF-8 no longer default under UTF-8 locales", and "-C" in perlrun
The new names cause less pollution of the cpp namespace and reflect what the numbers have come to stand
The new names cause less pollution of the cpp namespace and reflect what the numbers have come to stand
Added a new exit method. ... added new is_shared method.
To cope with the new versioning system's use of at least three significant digits for each version component ... Thus, using the new notation, 5.005_03 is the "same" as v5.5.30, and the first maintenance version following
To cope with the new versioning system's use of at least three significant digits for each version component ... Thus, using the new notation, 5.005_03 is the "same" as v5.5.30, and the first maintenance version following
purpose of this change is to allow tests that rely on the stringification not to have to change whenever new
This allows future use of := as a new token.
purpose of this change is to allow tests that rely on the stringification not to have to change whenever new
A new configuration variable d_pseudofork has been to Configure, and is available as $Config{d_pseudofork
New commands include < ?, > ?, and { ?
As of v5.6.0, interpreter-threads support is still lacking a way to create new threads from Perl (i.e
As of v5.6.0, interpreter-threads support is still lacking a way to create new threads from Perl (i.e
As of v5.6.0, interpreter-threads support is still lacking a way to create new threads from Perl (i.e
As of v5.6.0, interpreter-threads support is still lacking a way to create new threads from Perl (i.e
New commands include < ?, > ?, and { ?
Hash::Util is the interface to the new restricted hashes feature. ... sort is a new pragma for controlling the behaviour of sort().
A bug fix in Perl 5.14 introduced a new bug, causing "uninitialized" warnings to report the wrong variable
While this new feature was not planned, it fell naturally out of PerlIO changes, and is to be considered
[perl #112272] Perl no longer mangles the environment block, e.g. when launching a new sub-process, ... A new makefile option, USE_64_BIT_INT, has been added to the Windows makefiles.
In conjunction with the new $^V magic variable (which contains the perl version as a string), such literals ... Perl: # this will parse in older versions of Perl also if ($^V and $^V gt v5.6.0) { # new
In conjunction with the new $^V magic variable (which contains the perl version as a string), such literals ... Perl: # this will parse in older versions of Perl also if ($^V and $^V gt v5.6.0) { # new
CHECK is a new keyword All subroutine definitions named CHECK are now special. ... The new behavior is to not coerce bareword arguments to a typeglob.
CHECK is a new keyword All subroutine definitions named CHECK are now special. ... The new behavior is to not coerce bareword arguments to a typeglob.
CHECK is a new keyword All subroutine definitions named CHECK are now special. ... The new behavior is to not coerce bareword arguments to a typeglob.
CHECK is a new keyword All subroutine definitions named CHECK are now special. ... The new behavior is to not coerce bareword arguments to a typeglob.
A new function countit() is just like timeit() except that it takes a TIME instead of a COUNT. ... IO::Socket::INET->new now sets $!
A new function countit() is just like timeit() except that it takes a TIME instead of a COUNT. ... IO::Socket::INET->new now sets $!
A new function countit() is just like timeit() except that it takes a TIME instead of a COUNT. ... IO::Socket::INET->new now sets $!
A new function countit() is just like timeit() except that it takes a TIME instead of a COUNT. ... IO::Socket::INET->new now sets $!
perlthanks Perl 5.10.1 adds a new utility perlthanks, which is a variant of perlbug, but for sending
Lexical subroutines This new feature is still considered experimental.
For new projects the core perl team would strongly recommend that you use dedicated, single purpose security
A new feature called assertions will be available. ... A new operator // (defined-or) will be available.
Fcntl New constants in the existing Fcntl modules are now supported, provided that your operating system
This was previously all possible by hooking the entersub op checker, but the new mechanism makes it easy
first argument to an automatically-invoked DESTROY method could result in erroneous "DESTROY created new
Platform Support New Platforms Android Perl can now be built for Android, either natively or through
Known Problems There are no known new bugs.
Enhancements The default since perl 5.000 has been for perl to create an empty scalar with every new ... We would recommend testing with this configuration on new deployments of perl, particularly for multi-threaded
Modules and Pragmata New Modules B Perl compiler and tools. See B.
Miscellaneous bugfixing and porting of new core code to VMS.
The fields pragma now provides ways to create pseudo-hashes, via fields::new() and fields::phash().
The fields pragma now provides ways to create pseudo-hashes, via fields::new() and fields::phash().
Miscellaneous bugfixing and porting of new core code to VMS.
newATTRSUB is now a macro The public API newATTRSUB was previously a macro to the private function Perl_newATTRSUB ... Function Perl_newATTRSUB has been removed. newATTRSUB is now macro to a different internal function.
\N experimental regex escape Perl now supports \N, a new regex escape which you can think of as the
gcc versions 3.x introduced a new warning that caused a lot of noise during Perl compilation: gcc -Ialreadyknowndirectory
Selected Performance Enhancements A new internal cache means that isa() will often be faster.
could result in "Modification of a read-only value attempted" errors when attempting to modify the new ... A new test script has been added to test this fix; see under "Testing".
The magic types and magic vtables are now generated from data in a new script regen/mg_vtable.pl, instead ... point for '~', the character to code point conversion is done at build time by generate_uudmap to a new
User-defined property handlers that need to match differently under /i must be changed to read the new
/d, /l, /u, and /a modifiers Four new regular expression modifiers have been added.
C API fixes The newHVhv XS function now works on tied hashes, instead of crashing or returning an empty
alphabetic escapes encountered when parsing quote constructs now generate a warning, since they may take on new
alphabetic escapes encountered when parsing quote constructs now generate a warning, since they may take on new
See http://unicode.org/versions/Unicode6.0.0/ for details on the new release. ... Perl does not support any Unicode provisional properties, including the new ones for this release.
Use the new find_rundefsv function or the UNDERBAR macro instead.
The new Win32::GetANSIPathName() function can be used to turn a long pathname into a short one only if
See "New Modules and Pragmata", above. ... It has a new :bsd_glob export tag, intended to replace :glob.
Data::Dumper A new option, Pair, allows choosing the separator between hash keys and values. ... Scalar::Util New utilities: refaddr, isvstring, looks_like_number, set_prototype.
Data::Dumper A new option, Pair, allows choosing the separator between hash keys and values. ... Scalar::Util New utilities: refaddr, isvstring, looks_like_number, set_prototype.
Platform-specific improvements The following new ports are now available. ... Trailing new %ENV entries weren't propagated to child processes. This is now fixed.
The new restrictions when tainting include: No glob() or <*> These operators may spawn the C shell
There are two new cases where when now interprets its argument as a boolean, instead of an expression
There are two new cases where when now interprets its argument as a boolean, instead of an expression
Creating a new thread when weak references exist was buggy, and would often cause warnings at interpreter
See "New Unicode Properties" earlier in this document for additional information on changes with Unicode
See "New Unicode Properties" earlier in this document for additional information on changes with Unicode
There are two new cases where when now interprets its argument as a boolean, instead of an expression
perlbug no longer reports "Message sent" when it hasn't actually sent the message perlthanks is a new
The new (in 5.14.0) regular expression modifier /a when repeated like /aa forbids the characters outside
This improves portability when compiling XS extensions using new compilers, but for a Perl compiled with
Patches have been submitted for all of these, so hopefully there will be new releases soon: Date::Pcalc
perldoc now uses less -R instead of less for improved behaviour in the face of groff's new usage of ANSI
reference, relying on the flags being copied when the reference was copied, or set at the creation of a new
Changes to Existing Documentation We added the new maintenance release policy to perlpolicy.pod We've
This is predicated on the assumption that new features will not, in general, be added to maintenance
[perl #120288] Previously PerlIOBase_dup didn't check if pushing the new layer succeeded before (optionally
The new Perl command line option -C and its counterpart environment variable PERL_UNICODE can now be
The new Perl command line option -C and its counterpart environment variable PERL_UNICODE can now be
perldebguts.pod This new manpage contains excessively low-level material not related to the Perl debugger
perldebguts.pod This new manpage contains excessively low-level material not related to the Perl debugger
These are not new failures--Perl 5.005_0x has the same bugs, but didn't have these tests.
New documentation, perluniprops, lists all available non-Unihan character properties. ... There is a new Perl extension, the 'Present_In', or simply 'In', property.
Changed Diagnostics A number of existing diagnostic messages have been improved or corrected: A new ... Prototype after '%c' for %s : %s have been moved from the syntax top-level warnings category into a new
with this option set, both Configure and the compilers search for all headers and libraries under this new ... There's several new options, and some backwards-incompatible changes: We now build binaries for miniperl
mode POST_MAX doesn't cause the client to hang any more Automatic tab indexes are now disabled and new ... 3 new characters added to the ISO-8859-7 encoding New encoding MIME-Header-ISO_2022_JP added Problem
test failures but the situation is actually much better than it was in 5.6.0; it's just that so many new
A new C preprocessor define NO_TAINT_SUPPORT was added that, if set, disables Perl's taint support altogether
Steve Peters provided new *_set macros and reworked the core to use these rather than assigning to macros
This may cause new warnings when modules are being installed. ... You can now install coderef handlers, 'DEFAULT', and 'IGNORE' handlers, installing new handlers was not
New SHA-512/224 and SHA-512/256 transforms (ref. ... The use re '/flags' subpragma is new.
Pragmata Six new pragmatic modules exist: use autouse MODULE => qw(sub1 sub2 sub3) Defers require
This adds support for the new OpMAYBE_TRUEBOOL and OPpTRUEBOOL flags. ... Various enhancements include the new use of Module::Metadata.
Stashes, Globs and Method Lookup Perl 5.10.0 introduced a new internal mechanism for caching MROs (method ... *Foo::ISA = \@Bar::ISA or *Foo::ISA = *Bar::ISA) [perl #77238] undef *Foo::ISA would even stop a new
Suggestions for new shiny examples welcome but the main issue is that the examples need to be documented ... Multithreaded code should be migrated to the new ithreads model (see threads, threads::shared and perlthrtut
Performance Enhancements Perl has a new copy-on-write mechanism that avoids the need to copy the internal ... default now, and so you no longer need build perl with the Configure argument: -Accflags=-DPERL_NEW_COPY_ON_WRITE
The information is attached to the new offsets member of the struct regexp.
These are not new failures--Perl 5.005_0x has the same bugs, but didn't have these tests. ..
Also, there is a new pack() character format, W, which is intended to replace the old C.
Also, there is a new pack() character format, W, which is intended to replace the old C.
Carp Carp has a new function cluck(). cluck() warns, like carp(), but also adds a stack backtrace to
Fix bug RT #45053, Perl_newCONSTSUB() is now thread safe.
There is a new kill implementation based on sys$sigprc that allows older VMS systems (pre-7.0) to use ... 9x. [561] Current directory entries in %ENV are now correctly propagated to child processes. [561] New
Three new compilation flags are recognized by malloc.c.
This worked well until VC++ 2010 and later, which introduced new E* constants with values > 100 into
Module information summary Brand new modules, arranged by topic rather than strictly alphabetically:
Modules and Pragmata New Modules and Pragmata CPAN::Meta::YAML 0.003 has been added as a dual-life
option can be specified via MakeMaker: perl Makefile.PL POLLUTE=1 PERL_IMPLICIT_CONTEXT This new
option can be specified via MakeMaker: perl Makefile.PL POLLUTE=1 PERL_IMPLICIT_CONTEXT This new
As is, this meant that := cannot be used as a new token, without silently changing the meaning of existing ... You may find Perl's new given/when feature a suitable replacement.
When Perl autovivifies an element of a tied array or hash (which entails calling STORE with a new reference
Changed Internals These news matter to you only if you either write XS code or like to know about or
A number of memory leaks related to the new, experimental regexp bracketed character class feature have
(This feature, like other new features that combine Unicode and I/O, work only if you are using PerlIO
A new threads->exit() method is used to exit from the application (this is the default for the main thread
The debugger has a new dumpDepth option to control the maximum depth to which nested structures are dumped ... Added a new POSIX-ish character class [[:blank:]] which stands for horizontal whitespace (currently,
pp_qr now always returns a new regexp SV. Resolves RT #69852. ... Various bugs in the new-to 5.10.0 mro code, triggered by manipulating @ISA, have been found and fixed
See also the new pragma autodie. File::Basename Upgraded from version 2.76 to 2.77. ... casefold() has new fields returned to provide both a simpler interface and previously missing information
Various bugs in the new-to 5.10.0 mro code, triggered by manipulating @ISA, have been found and fixed
The new (in 5.14.0) regular expression modifier /a when repeated like /aa forbids the characters outside
If subroutine redefinition (eval 'sub foo{}' or newXS for XS code) triggers a DESTROY method on the sub ... Now DESTROY is delayed until the new subroutine has been installed.
{...}) not terminated or not {}-balanced in regex but a new error may be seen: Sequence (? ... It was causing the new handle to reference a different scalar variable.