Opens a pair of connected pipes like the corresponding system call.
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
IO buffering, so you may need to set $|
 to flush your WRITEHANDLE
after each command, depending on the application.
See IPC::Open2, IPC::Open3, and Bidirectional Communication in perlipc for examples of such things.
On systems that support a close-on-exec flag on files, that flag is set
on all newly opened file descriptors whose filenos are higher than 
the current value of $^F (by default 2 for STDERR
).  See $^F in perlvar.