if ( ref $next_job eq "Mail::Sender"){ $gl_thread_hsh{$gl_thread_hsh{next_thread}} = threads->new( sub { my $result = $next_job->MailFile({ msg => $next_job->{msg}, file => $next_job->{file}, }); } ); $gl_thread_hsh{next_thread}=$gl_thread_hsh{next_thread}+1; # Increment next available thread. }