perl
view release on metacpan or search on metacpan
t/comp/hints.t view on Meta::CPAN
}
# [perl #112326]
# this code could cause a crash, due to PL_hints continuing to point to th
# hints hash currently being freed
{
package Foo;
my @h = qw(a 1 b 2);
BEGIN {
$^H{FOO} = bless {};
}
sub DESTROY {
@h = %^H;
delete $INC{strict}; require strict; # boom!
}
my $h = join ':', %h;
# this isn't the main point of the test; the main point is that
# it doesn't crash!
print "not " if $h ne '';
print "ok 29 - #112326\n";
t/comp/hints.t view on Meta::CPAN
{
BEGIN {
# Make sure %^H is clear and not localised, to begin with
%^H = ();
$^H = 0;
}
DESTROY { %^H }
{
{
BEGIN {
$^H{foom} = bless[];
}
} # scope exit triggers destructor, which autovivifies a non-
# magical %^H
BEGIN {
# Here we have the %^H created by DESTROY, which is
# not localised
$^H{112444} = 'baz';
}
} # %^H leaks on scope exit
BEGIN { @keez = keys %^H }
( run in 0.271 second using v1.01-cache-2.11-cpan-95122f20152 )