Perl 5.14 is now available, marking the first major release of the open source development language since Perl 5.12 in 2010.
The new release provides improved Unicode support and expands IPv6 capabilities. While Perl 5.14 is now generally available, the release follows 12 incremental releases in the development tree.
“Like Linux, Perl follows the even/odd versioning convention that has an odd minor version number [e.g. ’13’ in 5.13] indicate it is a development release that will become 5.14,” Jeff Hobbs, Director of Engineering at ActiveState told InternetNews.com. “There were actually 12 releases [through to 5.13.11] for 5.13 that were used to experiment with, test and harden the new features that became part of 5.14.”
The improved Unicode support is a key new feature for Perl developers and for ActiveState’s customer base as well. ActiveState develops the ActivePerl distribution as well as commercial Perl development tools.
“Those customers that require full Unicode compliance will now be able to rely on Unicode 6.0 support in their applications,” Hobbs said. “This is primarily an update of the existing Unicode support in Perl.”
Hobbs added that one of the key features related to the Unicode support is the new regular expression engine for ASCII-, locale- or Unicode-specific matches.
“Prior to this, the engine would rely on internal parser flags to decide what variant of the engine to use, which was not always accurate,” Hobbs said. “The important part is that everything can now be explicitly under the user’s control.”
Perl 5.14 also makes network facing improvements with enhanced IPv6 support. Hobbs explained that the IPv6 enhancements are primarily to Socket.pm, a core module for network communication, which used to be IPv4 only.
“This provides a better foundation upon which other modules rely, such as the various networking modules,” Hobbs said. “The extended set of modules still require some updates, but it will be easier with this core foundation.”
Additionally, Hobbs noted that Perl 5.14 improved exception handling to be more reliable and consistent.
“Previously the special variable for eval block handling could be clobbered by destructors, but this has been corrected for 5.14,” Hobbs said.
Perl 5.14 also aims to be a more efficient version of Perl with the promise of using less memory and CPU than previous releases. Hobbs noted that he didn’t have exact metrics on the performance delta as it depends on the actual user application.
“One of the key speed improvements (up to 100x faster string appends) we had already backported to our ActivePerl 5.12 series,” Hobbs said. “Others are smaller memory or performance gains that can add up over the lifetime of a larger application, covering various aspects such as regular expression match to function call to threads.”