home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam  


8.99 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.