-- Perl 5.8.6 documentation --
pipe
  • pipe READHANDLE,WRITEHANDLE
  • 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" at perlipc for examples of such things.

    On systems that support a close-on-exec flag on files, the flag will be set for the newly opened file descriptors as determined by the value of $^F. See "$^F" at perlvar.