in reply to Robustly piping several processes.
IPC::Open2 and IPC::Open3 are based on pipe(). Under UNIX, the shell command "a | b | c" will follow the same principal. (Significance: pipe() is no 'cleaner' than IPC::Open3)