pipeREADHANDLE,WRITEHANDLE
Like the corresponding
system call, this function opens a pair of connected pipes - see
pipe(2). This call is almost always used right
before a fork, after which the pipe's reader
should close WRITEHANDLE, and the writer close
READHANDLE. (Otherwise the pipe won't indicate EOF
to the reader when the writer closes it.) Note that if you set up a loop of
piped processes, deadlock can occur unless you are very careful. In addition,
note that Perl's pipes use standard I/O buffering, so you may need to set
$| on your WRITEHANDLE
to flush after each output command, depending on the application - see select (output filehandle).
See also the section on "Pipes" in Chapter 6.