my $sockets = new IO::Select(); $sockets->add(\*STDIN); my $tel = new IO::Socket::INET( PeerAddr => $hostname, PeerPort => $port, Proto => 'tcp', Timeout => 60 ); die "Can't connect to $hostname ($!)" unless $tel; $sockets->add($tel); while(1) { my @handles; @handles = $sockets->can_read(0.5); foreach $handle (@handles) { if($handle == $tel) { $data = <$tel>; last if(!$data); print STDOUT $data; } elsif ($handle == \*STDIN) { $line = ; chomp($line); if ($line eq 'q' || $line eq 'quit') { $finish = 1; last; } else { print $tel $line."\r\n"; } } } }