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.


Microsoft Releases WinJS 2.1 As Open Source

WinJS is Microsoft's JavaScript library for developing WinRT or Windows Store apps. One of the lesser announcements at this year's Build is that it is being released as open source.

Break This Robot Apart And It Reassembles

This is terrifying - a robot that you can't destroy. If you break it by kicking it to pieces then the pieces simply move towards each other and reassemble.
Is this science fiction or gothic horror mad [ ... ]

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.