{ my $sock = new IO::Socket::INET( 'localhost:12345' ); } ## Here the handle is closed. #### for( 1 .. 2 ){ my $sock = new IO::Socket::INET( 'localhost:12345' ); } ## The first handle was implicitly closed during the second iteration. #### ... my $client = $svr->accept; async { ## do things with $client }->detach; #### ... my $client = $svr->accept; async { sleep 10; ## attempts to use $client fail }->detach;