Perl 5.22.0 Released
Written by Kay Ewbank   
Monday, 08 June 2015

The latest version of Perl has been released with a new double diamond operator, support for hexadecimal floating point numbers, and improved variable aliasing.

One major improvement is to the line input operator, <>. This accepts filenames stores in the @ARGV array, and if you pass a filename containing special characters, it might be possible to interact with the shell. A new line-input operator, <<>>, has been added that ignores special characters.

One controversial move is the removal of CGI.pm and Module::Build from the standard library. They are still available on CPAN, but the argument from the Perl maintainers is that they are no longer mainstream. CGI.pm was at one point the only way to generate HTML, along with many other features, but it has now been superseded and has been removed. As both CGI.pm and Module::Build were so widely used, you may find old code that assumes their presence will now throw an undeclared dependency – check your declarations.

The addition of variable aliases means you can now create an alias for a referenced value. You can also alias a subroutine.

According to the changes reference Perl Delta, variables and subroutines can now be aliased by assigning to a reference:

\$c = \$d;

\&x = \&y;

Aliasing can also be accomplished by using a backslash before a foreach iterator variable; this is perhaps the most useful idiom this feature provides:

foreach \%hash (@array_of_hash_refs) { ... }

This feature is experimental and must be enabled via use feature 'refaliasing'. It will warn unless the experimental::refaliasing warnings category is disabled.

Another improvement is the option to make use of repetition in list assignment. If you’re assigning one list of scalars to another, you can now avoid having a list of undefs, as in:

my(undef, $card_num, undef, undef, undef, $count) = split /:/;

and replace it with

my(undef, $card_num, (undef)x3, $count) = split /:/;

There’s a good description of this (and the other new features) in Brian Foy’s preview of Perl 5.22.

 

perlsq

Banner


.NET 9 Released
18/11/2024

.NET 9 has been released with a number of performance improvements and new features designed to help developers use AI.



Azul Outperforms OpenJDK By Up To 37%
23/10/2024

Azul has announced that its Azul Platform Prime outperforms comparable OpenJDK distributions by as much as 37%. The company has also launched the Azul Java Performance Engineering Lab (JPEL) aimed at  [ ... ]


More News

 

espbook

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Wednesday, 10 June 2015 )