develooper Front page | perl.perl5.porters | Postings from January 2011

Re: [perl #76550] Differing string table cleanup with/without require

Thread Previous
From:
Dave Mitchell
Date:
January 25, 2011 04:26
Subject:
Re: [perl #76550] Differing string table cleanup with/without require
Message ID:
20110125122631.GT2835@iabyn.com
On Sat, Jul 17, 2010 at 11:00:16AM -0700, Nicholas Clark wrote:
> I don't understand why running the script directly generates the
> unbalanced string table warnings, whilst using require does not:
> 
> $ cat 49472.pl 
> use strict;
> sub MODIFY_CODE_ATTRIBUTE{}
> sub f:Blah {$nosuchvar}
> $ PERL_DESTRUCT_LEVEL=2 LC_ALL=en_GB.UTF-8 PERL_UNICODE="" ./perl -Ilib 49472.pl
> Global symbol "$nosuchvar" requires explicit package name at 49472.pl line 3.
> BEGIN not safe after errors--compilation aborted at 49472.pl line 3.
> Unbalanced string table refcount: (1) for "open>" at (null) line 3 during global destruction.
> Unbalanced string table refcount: (1) for "open<" at (null) line 3 during global destruction.
> $ PERL_DESTRUCT_LEVEL=2 LC_ALL=en_GB.UTF-8 PERL_UNICODE="" ./perl -Ilib -e 'require qq{49472.pl}'
> Global symbol "$nosuchvar" requires explicit package name at 49472.pl line 3.
> BEGIN not safe after errors--compilation aborted at 49472.pl line 3.
> Compilation failed in require at -e line 1.

Note that the 'unbalanced' warnings only occur on unthreaded builds, and it's
still present in blead/5.13.9.

-- 
I before E. Except when it isn't.

Thread Previous


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About