in reply to Clean closing sockets

Use setsockopt and set the option SO_REUSEADDR:
use Socket; ... setsockopt(SOCK, SOL_SOCKET, SO_REUSEADDR) or warn "OOPS, setsockopt failed $!\n";
HTH, --traveler