use warnings;
-plan( tests => 230 );
+plan( tests => 231 );
# type coersion on assignment
$foo = 'foo';
is (ref $::{oonk}, 'SCALAR', "Export doesn't affect original");
is (eval 'ga_shloip', "Value", "Constant has correct value");
is (ref $::{ga_shloip}, 'SCALAR',
- "Inlining of constant doesn't change represenatation");
+ "Inlining of constant doesn't change representation");
delete $::{ga_shloip};
$::{BONK} = \"powie";
*{"BONK"} = \&{"BONK"};
eval 'is(BONK(), "powie",
- "Assigment works when glob created midway (bug 45607)"); 1'
+ "Assignment works when glob created midway (bug 45607)"); 1'
or die $@;
}
local $SIG{__WARN__} = sub { $warn = $_[0] };
use warnings;
my $str = "$glob";
- is($warn, '', "RT #60954 anon glob stringification shouln't warn");
+ is($warn, '', "RT #60954 anon glob stringification shouldn't warn");
is($str, '', "RT #60954 anon glob stringification should be empty");
}
tie my $a, "thrext";
() = "$a"; # do a fetch; now $a holds a glob
eval { *$a = sub{} };
+ eval { $a = undef }; # workaround for untie($handle) bug
untie $a;
eval { $a = "bar" };
::is $a, "bar",
# These two crashed in 5.13.6. They were likewise fixed in 5.13.7.
ok eval {
sub greck;
- my $glob = \*phing::foo;
+ my $glob = do { no warnings "once"; \*phing::foo};
delete $::{"phing::"};
*$glob = *greck;
}, "Assigning a glob-with-sub to a glob that has lost its stash warks";
*$glob = *foo;
}, "Assigning a glob to a glob-with-sub that has lost its stash warks";
+{
+ package Tie::Alias;
+ sub TIESCALAR{ bless \\pop }
+ sub FETCH { $${$_[0]} }
+ sub STORE { $${$_[0]} = $_[1] }
+ package main;
+ tie my $alias, 'Tie::Alias', my $var;
+ no warnings 'once';
+ $var = *galobbe;
+ {
+ local *$alias = [];
+ $var = 3;
+ is $alias, 3, "[perl #77926] Glob reification during localisation";
+ }
+}
__END__
Perl