Two Perl programs are running on the same box. They are communicating with each other via a TCP connection via loopback. Both programs are also listening for incoming TCP connections on different ports. One of the programs receives an incoming TCP connection on one of the ports it is listening on. It accepts the connection and talks to the remote host for a while. It then wants to transfer the existing TCP connection to the other running Perl program, without dropping the connection and forcing the remote to reconnect, without the remote having to take any action at all, without the remote even knowing anything happened. In short, how does one Perl program hand off an IO::Socket::INET object to another program?