You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I just noticed this in lib/vars.pm:
} elsif (($^H &= strict::bits('vars'))) {
^^
which seems a bit weird. The check was introduced in 2000 by 1d76c68, and
survived numerous further edits in 2002, but hasn't been touched since then.
I suspect it should just be:
} elsif ($^H & strict::bits('vars')) {
but I'm not sure; if it is correct, it'd be useful to add a comment
explaining why it's sane.
I just noticed this in lib/vars.pm:
} elsif (($^H &= strict::bits('vars'))) {
^^
which seems a bit weird. The check was introduced in 2000 by 1d76c68,
and
survived numerous further edits in 2002, but hasn't been touched since
then.
I suspect it should just be:
} elsif ($^H & strict::bits('vars')) {
but I'm not sure; if it is correct, it'd be useful to add a comment
explaining why it's sane.
It's broken, since it removes non-vars strictness:
./perl -Ilib -e 'use strict "refs"; use vars qw($foo$); my $x= "abc"; print $$x'
(no error from the symbolic ref)
The attached fixes it, but we're in a "no changes in behaviour" freeze. This has been broken long enough that I could easily see code out there this fix would break.
On Tue, 31 Jan 2017 21:33:58 -0800, tonyc wrote:
On Mon, 30 Jan 2017 09:45:53 -0800, hv wrote:
I just noticed this in lib/vars.pm:
} elsif (($^H &= strict::bits('vars'))) {
^^
which seems a bit weird. The check was introduced in 2000 by 1d76c68,
and
survived numerous further edits in 2002, but hasn't been touched
since
then.
I suspect it should just be:
} elsif ($^H & strict::bits('vars')) {
but I'm not sure; if it is correct, it'd be useful to add a comment
explaining why it's sane.
It's broken, since it removes non-vars strictness:
./perl -Ilib -e 'use strict "refs"; use vars qw($foo$); my $x= "abc";
print $$x'
(no error from the symbolic ref)
The attached fixes it, but we're in a "no changes in behaviour"
freeze. This has been broken long enough that I could easily see code
out there this fix would break.
Activity
p5pRT commentedon Jan 30, 2017
From @hvds
Created by @hvds
I just noticed this in lib/vars.pm:
} elsif (($^H &= strict::bits('vars'))) {
^^
which seems a bit weird. The check was introduced in 2000 by 1d76c68, and
survived numerous further edits in 2002, but hasn't been touched since then.
I suspect it should just be:
} elsif ($^H & strict::bits('vars')) {
but I'm not sure; if it is correct, it'd be useful to add a comment
explaining why it's sane.
Perl Info
p5pRT commentedon Feb 1, 2017
From @tonycoz
On Mon, 30 Jan 2017 09:45:53 -0800, hv wrote:
It's broken, since it removes non-vars strictness:
./perl -Ilib -e 'use strict "refs"; use vars qw($foo$ ); my $x= "abc"; print $ $x'
(no error from the symbolic ref)
The attached fixes it, but we're in a "no changes in behaviour" freeze. This has been broken long enough that I could easily see code out there this fix would break.
Tony
p5pRT commentedon Feb 1, 2017
From @tonycoz
0001-perl-130674-don-t-modify-H.patch
p5pRT commentedon Feb 1, 2017
The RT System itself - Status changed from 'new' to 'open'
p5pRT commentedon Sep 26, 2018
From @tonycoz
On Tue, 31 Jan 2017 21:33:58 -0800, tonyc wrote:
Applied as eda3f95 with some minor changes.
Tony
p5pRT commentedon Sep 26, 2018
@tonycoz - Status changed from 'open' to 'pending release'
p5pRT commentedon May 22, 2019
From @khwilliamson
Thank you for filing this report. You have helped make Perl better.
With the release today of Perl 5.30.0, this and 160 other issues have been
resolved.
Perl 5.30.0 may be downloaded via:
https://metacpan.org/release/XSAWYERX/perl-5.30.0
If you find that the problem persists, feel free to reopen this ticket.
p5pRT commentedon May 22, 2019
@khwilliamson - Status changed from 'pending release' to 'resolved'