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; }