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!

 

perl

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 perl.org. The source code is also available to download.

Banner


World Emoji Day 2024 Surveys Most Confusing Emojis
19/07/2024

This week sees the 'celebration', if that's the word we're looking for, of World Emoji Day, the annual emoji-fest that has happened on July 17 for the last eleven years. This year we've largely b [ ... ]



NSA Refuses To Release Grace Hopper Tapes
14/07/2024

A lecture by Grace Hopper with the title “Future Possibilities: Data, Hardware, Software, and People” was recorded on videotape. More than 40 years later NSA is refusing to release it.


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.

<ASIN:143022715X>

<ASIN:0321496949>

<ASIN:159059391X>

<ASIN:0596520107>

<ASIN:0596000278>

Last Updated ( Thursday, 19 May 2011 )