=over =item pipe READHANDLE,WRITEHANDLE X<pipe> 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 L<C<$E<verbar>>|perlvar/$E<verbar>> to flush your WRITEHANDLE after each command, depending on the application. Returns true on success. See L<IPC::Open2>, L<IPC::Open3>, and L<perlipc/"Bidirectional Communication with Another Process"> 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 L<C<fileno>|/fileno FILEHANDLE>s are I<higher> than the current value of L<C<$^F>|perlvar/$^F> (by default 2 for C<STDERR>). See L<perlvar/$^F>. =back