use autodie; my $server = IO::Socket::INET->new(...); while (1) { my $client = $server->accept() or die("Can't accept connections: $!\n"); if (!eval { ... close($client); return 1; # No exception }) { warn("Error servicing request: $@"); } }