The Perl developers have announced that Perl 5.16.0 is now available, after twelve months of development following the release of Perl 5.14.0. The changes in Perl 5.16 are designed to improve the language without breaking any past software.

Among the features of the new release are enhancements to code features such as use , which now explicitly enables feature bundles, a more consistent eval operator, and a revamped substr function. The __SUB__ sequence now returns a reference to the current subroutine, allowing for recursive subroutines to be written more simply.

Unicode 6.1 support has also been improved within the language; Unicode symbol names are now properly handled, case folding (fc) with Unicode strings now works to the Unicode standard, and it is easier to mix locales and Unicode. The performance of Unicode properties in regular expressions has been improved, as have the destruction of objects, the glob function, and short-circuiting operators.

The extensive changes are documented in the 5.16.0 perldelta file. This document also covers future plans such as the removal of a number of packages from the Perl core (such at Text::Soundex, Thread.pm) and the dropping of platforms with no supporting programmers (such as BeOS, VM/ESA and dgux).

According to the developers there are 590,000 lines of changes across 2,500 files from 139 authors in Perl 5.16.0. Perl 5.16.1 should be published on 20 June, addressing any significant bugs found in the 5.16.0 release. Work will then begin on the 5.17 development branch which should arrive as Perl 5.18 in May next year.

The Perl 5.16 source code is available at MetaCPAN and is being mirrored on the CPAN network. Binary packaged versions of Perl 5.16 are not currently available, but are expected in the coming days. Perl is dual licensed under the GPLv2 and its own Artistic Licence.

(djwm)