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 "Hello from the parent!\n"; $line = ; print "Parent read: $line"; close CHILDHANDLE; waitpid($pid,0); } else { close CHILDHANDLE; $line = ; print "Child read: $line"; print PARENTHANDLE "Hello from the child!\n"; close PARENTHANDLE; exit; }