so make it so, creating $FOO if necessary.
(Effectively this is a policy decision that PERL_DONT_CREATE_GVSV is
visible to XS code, but isn't visible to Perl code)
p4raw-id: //depot/perl@27002
break;
case 'S':
if (strEQ(second_letter, "CALAR"))
- tmpRef = GvSV(gv);
+ tmpRef = GvSVn(gv);
break;
}
}
use warnings;
require './test.pl';
-plan( tests => 132 );
+plan( tests => 134 );
# type coersion on assignment
$foo = 'foo';
like ($@, qr/^Cannot convert a reference to $type to typeglob/,
"Cannot upgrade ref-to-$type to typeglob");
}
+
+{
+ no warnings qw(once uninitialized);
+ my $g = \*clatter;
+ my $r = eval {no strict; ${*{$g}{SCALAR}}};
+ is ($@, '', "PERL_DONT_CREATE_GVSV shouldn't affect thingy syntax");
+
+ $g = \*vowm;
+ $r = eval {use strict; ${*{$g}{SCALAR}}};
+ is ($@, '',
+ "PERL_DONT_CREATE_GVSV shouldn't affect thingy syntax under strict");
+}
+
__END__
Perl
Rules