pipe - open a pair of connected filehandles
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 stdio buffering, so you may need to set $⎪ to flush your WRITEHANDLE after each command, depending on the application.
See the IPC::Open2 manpage, the IPC::Open3 manpage, and the section on Bidirectional Communication in the perlipc manpage for examples of such things.