IPC::Open3 works like IPC::Open2.
$pid = open3($wtr, $rdr, $err, $cmd_with_args);
$pid = open3($wtr, $rdr, $err, $cmd, "arg1", "arg2", ...);
The following differences apply:
The first two arguments
$rdr) are passed in the
A third filehandle can be passed, for standard error. If this
argument is given as "", then
STDERR and STDOUT for $cmd are on the same
If $wtr begins 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. open3 opens
this file as STDIN for $cmd and closes it in the
parent. Likewise, if $rdr or
$err begins with >, then
$cmd directs STDOUT or STDERR directly to that
file rather than to the parent.
Copyright © 2002 O'Reilly & Associates. All rights reserved.