Perl 5.24: Improved Performance and Security

Perl 5.24: Improved Performance and Security

kjljlk

If you’re one of the millions of ActivePerl downloaders who want the support we provide in our Perl distribution, ActivePerl 5.24 is now available,with lots of new features and fairings. A feature is something added to a program. A fairing is something that makes it easier to use, smoother, more streamlined.

Features: Improved Performance and Security

Perl 5.24 has a lot of interesting new features, including improved unicode support, upgrading of post-fix dereferencing from experimental to production, and more aggressive handling of errors on closing the output file during an inplace edit.

There are also performance enhancements in arithmetic operations, which were slowed down by extra code for handling 64-bit values since Perl 5.8. By identifying cases where no special handling will ever be required, the new compiler can emit faster code in most situations. Other performance enhancements include more efficient handling of languages that do not define upper and lower case letters, such as Chinese, and some trimming of unneeded debug structures for XSUBS.

Another interesting feature is promoting some regular expression issues from runtime errors to compilation errors. Why wait for code to fail when it is hit in testing when it can be identified at compile time as broken?

Also, a number of security issues have been addressed, including loss of taint in canonpath, which was probably the most significant security issue for Perl in the past year.

Fairings: Removal of autoderef and lexical $_feature

The biggest fairings are in the removed and deprecated features list, which includes removal of the autoderef feature and the lexical $_ feature. The latter has been deprecated since Perl 5.18, the former never made it out of the experimental phase. It is the mark of a mature language community to be willing to try out interesting ideas and able to drop them when they turn out not be as useful in production as they were imagined to be at the point of conception. Perl’s continued focus on being a practical tool for working programmers shows through here.

Perl 5 continues to be a vibrant and important language, and with regular yearly releases it is maintaining its place as a fast, reliable, and modern tool in any developer’s toolkit.

So download ActivePerl 5.24 today to take advantage of the latest features and fairings in Perl 5.24. (Or you can download ActivePerl 5.22.2 if you’re looking for something a little less bleeding-edge). And don’t forget to join Jason MacIntosh and me in the upcoming webinar “A Long-Time Perl Hacker’s View of the Perl World: Past, Present and Future” on June 15.


Tom Radcliffe

Tom Radcliffe

Tom Radcliffe has over 20 years experience in software development, data science, machine learning, and management in both academia and industry. He is a professional engineer (PEO and APEGBC) and holds a PhD in physics from Queen's University at Kingston. Tom brings a passion for quantitative, data-driven processes to ActiveState. He is deeply committed to the ideas of Bayesian probability theory, and assigns a high Bayesian plausibility to the idea that putting the best software tools in the hands of the most creative and capable people will make the world a better place.