like for example, my $foo qw(bar baz) makes perfect sense and was valid perl until
I'm afraid to say that it doesn't make perfect sense to me. What would you expect it to mean?
It's also not valid perl, even on the oldest one I could find:
$ perl -v
This is perl, v5.8.8 built for i386-linux-thread-multi
Copyright 1987-2006, Larry Wall
Perl may be copied only under the terms of either the Artistic License
+ or the
GNU General Public License, which may be found in the Perl 5 source ki
Complete documentation for Perl, including FAQ lists, should be found
this system using "man perl" or "perldoc perl". If you have access to
Internet, point your browser at http://www.perl.org/, the Perl Home Pa
$ perl -e 'my $foo qw(bar baz)'
syntax error at -e line 1, near "$foo qw(bar baz)"
Execution of -e aborted due to compilation errors.
The result is broken scientific distros sitting on CPAN forever because, for example, we now have to --force install and add 2 characters to 1 module to fix 3 modules.
I am no advocate for breaking backwards compatibility but a seemingly trivial change to a module which moves it from unusable to working on modern perls is something any module maintainer should be doing. Just not necessarily in the next half hour. If there's no repsonse to such tickets in a reasonable time-frame (give them a few weeks at least) then it's probably abandoned and a good candidate for a take-over.