IPC::Open3
IPC::Open3 works like IPC::Open2.
use IPC::Open3; $pid = open3($wtr, $rdr, $err, $cmd_with_args); $pid = open3($wtr, $rdr, $err, $cmd, "arg1", "arg2", ...);
The following differences apply:
- The first two arguments (
$wtrand$rdr) are passed in the opposite order. - A third filehandle can be passed, for standard error. If this argument is given as
"", then STDERR and STDOUT for$cmdare on the same filehandle. - If
$wtrbegins with<, then the leading<is stripped from the name and the remainder is assumed to be a regular filehandle for an open file, rather than a reference to a typeglob.open3opens this file as STDIN for$cmdand closes it in the parent. Likewise, if$rdror$errbegins with>, then$cmddirects STDOUT or STDERR directly to that file rather than to the parent.