#!/usr/bin/perl use IO::Socket::INET; use IO::Pty; use IO::Select; my $selector = new IO::Select; use strict; my $pty = new IO::Pty; my $slave = $pty->slave(); $pty->autoflush(); $slave->set_raw(); $pty->set_raw(); print $pty->ttyname(),"\n"; my $s = new IO::Socket::INET (PeerAddr => "192.168.2.137", PeerPort => 10001, Proto => 'tcp',) or die "$!\n"; $s->autoflush(); $selector->add($s); $selector->add($pty); while(1) { my ($rr, undef, $er) = IO::Select->select($selector, undef, $selector, undef) ; foreach my $fh (@$rr) { my $data = ""; sysread $fh, $data, 1; if($fh == $pty) { syswrite $s, $data , 1; } elsif ($fh == $s) { syswrite $pty, $data , 1; } } }