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 (
$wtr
and$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$cmd
are on the same filehandle.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.
Get Perl in a Nutshell now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.