Your code (slightly modified for win32), doesn't appear to leak under AS811/5.8.6 or AS817/5.8.8.
#!/usr/bin/perl
use strict;
use warnings;
use threads;
use Thread::Queue;
my $queue = Thread::Queue -> new;
threads -> create ("popper", $queue) -> detach for (1..10);
my $message="this is a line of test around the right size";
while (1) {
$queue -> enqueue ($message) for (1..100);
sleep 1 while $queue -> pending;
system qq[tasklist /nh /fi "PID eq $$"];
}
sub popper {
print "started a popper\n";
my $queue = shift;
while ($queue -> dequeue) {
print ".";
}
}
__END__
C:\test>junk5
started a popper
started a popper
started a popper
started a popper
started a popper
started a popper
started a popper
started a popper
started a popper
started a popper
perl.exe 3128 0 6,936
+K
perl.exe 3128 0 6,944
+K
perl.exe 3128 0 6,948
+K
perl.exe 3128 0 6,948
+K
perl.exe 3128 0 6,948
+K
perl.exe 3128 0 6,948
+K
perl.exe 3128 0 6,948
+K
perl.exe 3128 0 6,948
+K
perl.exe 3128 0 6,948
+K
perl.exe 3128 0 6,948
+K
perl.exe 3128 0 6,948
+K
perl.exe 3128 0 6,948
+K
perl.exe 3128 0 6,948
+K
perl.exe 3128 0 6,948
+K
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.