On Sat Jul 17 11:00:16 2010, nicholas wrote:
> This is a bug report for perl from nick@ccl4.org,
> generated with the help of perlbug 1.39 running under perl 5.13.2.
>
> -----------------------------------------------------------------
> [Please describe your issue here]
>
> 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.
>
>
> This means that OPs are being cleaned up better when compilation fails
> under
> a require, than when compilations fails at the top level of the
> interpreter?
I can’t reproduce this in a recent blead. But maybe I’m doing something
wrong.
--
Father Chrysostomos
---
via perlbug: queue: perl5 status: open
https://rt.perl.org:443/rt3/Ticket/Display.html?id=76550
Thread Next