Perl 5.12.0 released
Thursday, 15 April 2010

Welcome Perl 5.12.0! The latest upgrade of this classic do-anything language is now available. What's new?


According to the official Perl web site

"Perl 5.12.0 represents approximately two years of development since version 5.10.0 and contains over 750,000 lines of changes across over 3,000 files from over 200 authors and committers."

That's a lot of coding for a decimal point upgrade!



The major changes are:

  • Perl now conforms much more closely to the Unicode standard. Additionally, this release includes an upgrade to version 5.2 of the standard.
  • New experimental APIs allow developers to extend Perl with "pluggable" keywords and syntax.
  • Perl now has a better sense of time and will be able to keep accurate time well past the "Y2038" barrier.
  • New syntax allows developers to specify package version numbers directly in "package" statements
  • Perl now warns the user about the use of deprecated features by default.

There is also  a new  operator which acts as a placeholder for unimplemented code nicknamed the "Yada Yada Operator". Also new is the ability to hook extension omodules into the parser so that new kinds of keyword-headed expressions can be defined. This allows sub-languages to be parsed inline with the correct operators generated so extending the Perl language. The demo supplied with the download is a module that implements Reverse Polish Notation via pluggable keywords. The only warning is that this is considered to be an experimental feature and could be modified or removed in future versions. If it works and has no detrimental side effects it sounds like a really good idea. Deeper inside the system C APIs have been added so that XS extensions can access core features.

Core language changes are few and minor - each can work with arrays and when can be used as a statement modifier. Also good is the removal of the 32 bit limit on substr arguments - these can now use the full range of the machine's signed and unsigned integers.

Given that Perl is often used as a reference type for regular expressions the introduction of \N which is described, logically, as a reverse \n might have wider implications.  This command matches any character that is not a newline. Regular expressions are also promoted to first class entities.

The release of Perl 5.12.0 also introduces a change to a new time-based release process. In future there will be a new stable version of Perl released each spring, followed by a bug fix release one month later, and quarterly maintenance updates after that. These maintenance releases will nothing but contain fixes.

Binary versions of Perl 5.12.0 are now available for Unix, Linux, Mac OS X and Windows from The source code is also available to download.


Lovelace 2.0 Test - An Alternative Turing Test

To pass the Turing Test an artificial agent has to convince human judges that they are conversing with a human rather than a computer. To overcome the flaws in this test as a demonstration of intellig [ ... ]

The New Android Compilers - Meet Jack And Jill

The new compiler toolchain, Jack and Jill, were included in the recent release of Android SDK 21.1, but only now has Google explained what they are are and what they do.

More News

If you would like to be informed about new articles on I Programmer you can either follow us on Twitter or Facebook or you can subscribe to our weekly newsletter.






Last Updated ( Thursday, 19 May 2011 )

RSS feed of news items only
I Programmer News
Copyright © 2014 All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.