my $threadpool = Thread::Pool->new({ 'do' => \&my_function, 'optimize' => 'cpu', , 'workers' => 20, }); $threadpool->job($_) for (@myfiles); $threadpool->shutdown(); sub my_function { my ($file) = @_; ... return 1; } #### Scalars leaked: 1 Scalars leaked: 1 Scalars leaked: -1 Scalars leaked: 1