Alias2 has asked for the wisdom of the Perl Monks concerning the following question:

During Padre development, we've had ongoing issues with the Scalars leaked: message. As a result we're fairly sensitive about these messages.

Although I believe I've fixed the latest lot in real code, I always get the leak messages when running Padre in the debugger.

Isolating this down to a snippit, it appears that ALL joining threads throw this message when the debugger is active.

Can anyone explain why this is occurring, and suggest a strategy for preventing the leak (without blindly suppressing it and hiding any other non-debugger caused leaks).

The following is on Strawberry Perl 5.12.3 May 2011.

perl -de 1 Loading DB routines from perl5db.pl version 1.33 Editor support available. Enter h or `h h' for help, or `perldoc perldebug' for more help. main::(-e:1): 1 DB<1> use threads; DB<2> threads->new(sub{})->join; Scalars leaked: 1 DB<3>
  • Comment on Can anyone explain the following, and suggest how to supress the message
  • Download Code

Replies are listed 'Best First'.
Re: Can anyone explain the following, and suggest how to supress the message
by Anonymous Monk on Aug 24, 2011 at 04:42 UTC
    $ perl -de 1 Loading DB routines from perl5db.pl version 1.33 Editor support available. Enter h or `h h' for help, or `perldoc perldebug' for more help. main::(-e:1): 1 DB<1> use threads; DB<2> threads->new(sub{})->join; DB<3> q $ pmvers threads 1.83 $ perl -le " print $^V" v5.14.1