Use of qw(...) as parentheses: deprecated in 5.14, removed in 5.18
Dominic Hargreaves
dom at earth.li
Sun May 12 22:22:38 UTC 2013
On Sat, May 11, 2013 at 05:04:08PM +0300, Niko Tyni wrote:
> Hi Dominic,
>
> do you still happen to have the rebuild logs from 5.14 around?
>
> My first tentative rebuild tests turned up a couple of build failures
> (libfile-libmagic-perl_0.96-3, libfile-mmagic-xs-perl_0.09006-4)
> because of this (from 5.18.0-RC1 perldelta.pod):
>
> qw(...) can no longer be used as parentheses
> "qw" lists used to fool the parser into thinking they were
> always surrounded by parentheses. This permitted some surprising
> constructions such as "foreach $x qw(a b c) {...}", which should
> really be written "foreach $x (qw(a b c)) {...}". These would
> sometimes get the lexer into the wrong state, so they didn't
> fully work, and the similar "foreach qw(a b c) {...}" that one
> might expect to be permitted never worked at all.
>
> This side effect of "qw" has now been abolished. It has been
> deprecated since Perl v5.13.11. It is now necessary to use real
> parentheses everywhere that the grammar calls for them.
>
> The 5.14 build logs of these packages have the warning
> Use of qw(...) as parentheses is deprecated
> so bugs could be filed based on just grepping for that.
>
> It looks like those two packages have the error in bundled helper code
> (inc/Module/Install/XSUtil.pm, inc/Devel/CheckLib.pm) so this may be
> a more common problem. Both Module-Install-XSUtil and Devel-CheckLib
> themselves have since been fixed.
My rebuilds have finished now, and only three package have syntax
error messages on logs - the two you mentioned plus
libopengl-xscreensaver-perl.
The grep you suggest (against 5.16 logs, not 5.14 ones) also mention
libcrypt-gcrypt-perl, libimager-qrcode-perl, libnet-dns-perl, xacobeo,
some of which are currently failing for other reasons.
Overall, 111 out of 636 packages rebuilt failed. Quite a few of these
will be gcc/eglibc related failures, or failures to install build-deps,
so it's not as scary a number as it first appears. I have started working
through these and filing bugs, with more to come over the next week.
The are collected at
<http://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=perl-5.18-transition;users=debian-perl@lists.debian.org>
In other news,
<https://buildd.debian.org/status/package.php?p=perl&suite=experimental>
looks good so far, with only hurd failing (as it has done for a while
now).
--
Dominic Hargreaves | http://www.larted.org.uk/~dom/
PGP key 5178E2A5 from the.earth.li (keyserver,web,email)
More information about the Perl-maintainers
mailing list