use Socket;
use IO::Handle;
socketpair(CHILDHANDLE, PARENTHANDLE, AF_UNIX, SOCK_STREAM, PF_UNSPEC)
or die "Could not create socketpair.";
CHILDHANDLE->autoflush(1);
PARENTHANDLE->autoflush(1);
if ($pid = fork) {
close PARENTHANDLE;
print CHILDHANDLE "the parent!\n";
$line = ;
print "Parent: $line";
close CHILDHANDLE;
waitpid($pid,0);
} else {
close CHILDHANDLE;
$line = ;
print "Child : $line";
print PARENTHANDLE "from the child!\n";
close PARENTHANDLE;
exit;
}