use strict; use IO::Socket; my ($line, $obj, $pid, $input); $obj = IO::Socket::INET->new(PeerAddr => "some.com", PeerPort => 7777, Proto => "tcp", Timeout => 60, ); die "cant fork" unless (defined ($pid=fork())); if ($pid) { while (defined ($line = <$obj>)) { print STDOUT $line;} kill 9, $pid; } else { while (defined ($input = )) { print $obj $input; } }