The Perl Foundation has announced the release of Perl 5.12. This was quickly followed by ActiveState's announcement that it has launched ActivePerl 5.12. You can download Perl 5.12 from the nearest CPAN mirror or from http://search.cpan.org/dist/perl-5.12.0/. Likewise, ActivePerl 5.12 can be downloaded here.
"We see a continued interest in all dynamic languages and this is true of Perl. Some of ActiveState's largest enterprise customers are heavy ActivePerl users, whether for mission-critical systems, or system administration tasks," said ActiveStates' Jeff Hobbs. "With the release of 5.12, ActiveState, as well as the Perl developer community, is showing continued commitment to the development and adoption of Perl as a critical enterprise-grade dynamic language."
Notable changes in Perl 5.12 include:
- 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.
Notable updates in ActivePerl 5.12 include:
- Perl's time functions work beyond the year 2038: With previous versions of Perl for 32-bit Unix systems, it could only represent dates up to the year 2038, after which it wraps around back to 1970. It is especially important for financial services organizations that use Perl for applications such as mortgage and insurance contracts that run for 30 years or longer. This has been updated within the internal functions of 32-bit Perl 5.12
- Improved Unicode support: Perl now supports all Unicode properties for developers doing globalization work in multiple languages. It includes all the synonyms, loose spelling rules for property names and values, and other areas that have been brought in sync with the corresponding Unicode specification.
- Support for pluggable keywords: Extension modules can now cleanly hook into the Perl parser to define new kinds of keyword-headed expressions and compound statements. The syntax following the keyword is defined entirely by the extension. This feature facilitates the development of domain specific languages (DSLs) within Perl by allowing a completely non-Perl sub-language to be parsed inline, with the correct ops cleanly generated. This feature is experimental and may be removed.