El siguiente código muestra como crear una seudoterminal y una comunicación elemental con el lado esclavo.
lhp@nereida:~/Lperl/src/perl_networking/ch2$ cat -n pty3.pl
 1  #!/usr/bin/perl -w
 2  use strict;
 3  use IO::Pty;
 4
 5  my $pty = new IO::Pty;
 6
 7  defined(my $child = fork) or die "Can't fork: $!";
 8  if ($child) { # master
 9    foreach my $val (1..10) {
10      print $pty "$val\n";
11    }
12    foreach my $val (1..10) {
13      $_ = <$pty>;
14      print "Master $$: $_";
15    }
16    my $ttyname = <$pty>;
17    print "Master $$: $ttyname";
18  }
19  else {
20    my $slave  = $pty->slave;
21    close($pty);
22    foreach my $val (1..10) {
23      $_ = <$slave>;
24      print "Child $$: $_";
25    }
26    print $slave $slave->ttyname."\n";
27    close($slave);
28  }
Al ejecutar el programa anterior obtenemos la salida:
lhp@nereida:~/Lperl/src/perl_networking/ch2$ ./pty3.pl Master 16705: 1 Master 16705: 2 Master 16705: 3 Master 16705: 4 Master 16705: 5 Master 16705: 6 Master 16705: 7 Master 16705: 8 Master 16705: 9 Master 16705: 10 Child 16706: 1 Child 16706: 2 Child 16706: 3 Child 16706: 4 Child 16706: 5 Child 16706: 6 Child 16706: 7 Child 16706: 8 Child 16706: 9 Child 16706: 10 Master 16705: /dev/pts/18
stty del objeto esclavo 
(Por ejemplo pty->slave->stty('-echo'))
ponga la comunicación
en modo -echo. Modifique el programa de modo conveniente.
¿Qué ocurre?
Casiano Rodríguez León
