# wait to join and delete from hash foreach my $join (threads->list(threads::joinable)) { my $val = eval{ $join->join() } or die "Join failed with '$!' : '$^E'"; tprint("_handle() output: " . $join->_handle()); #my $val = $join->join(); # tprint("Deleting fd- $val"); delete $FDcache{$val}; }