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


Microsoft Urged To Continue Support For Windows 10
18/09/2025

Windows 10 is due to reach its end of support on October 14th, 2025, despite the fact that it still has a substantial share of the Windows Desktop market. Consumer Reports has sent a letter to Satya N [ ... ]



Rust 1.90 Speeds Compile Times
23/09/2025

Rust 1.90 has been released. The new version uses LLD as the default linker, meaning linking and incremental builds are much faster. It also has native support for workspace publishing  [ ... ]


More News

 

pico book

 

Comments




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

Last Updated ( Wednesday, 10 June 2015 )