[Chapter 8] 8.99 IPC::Open3
Author: Ellen Siever, Stephen Spainhour & Nathan Patwardhan
Date: 1999-07-02T01:49:01Z

#

| Chapter 8 Standard Modules |

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

8.98 IPC::Open2 |  | 8.100 IPC::Semaphore