in reply to Re: IPC::Open3 & closed STDOUT
in thread IPC::Open3 & closed STDOUT
Now like I said, calls to this sub return exactly what I expect, as long as I pass a valid $cmd and $input.sub _run_ReadWrite { my ($invocant, $cmd, $input) = @_; # declare needed variables and connect to process local (*CHILD_IN, *CHILD_OUT, *CHILD_ERR); my ($childpid, @outlines, @errlines); $childpid = open3(*CHILD_IN, *CHILD_OUT, *CHILD_ERR, $cmd); # feed input to process, then close input print CHILD_IN $input; close (CHILD_IN); # save output and errors, close those channels and the process chomp(@outlines = <CHILD_OUT>); close (CHILD_OUT); chomp(@errlines = <CHILD_ERR>); close (CHILD_ERR); waitpid($childpid, 0); # return the result of the call return { OUTPUT => \@outlines , ERRORS => \@errlines }; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Re: IPC::Open3 & closed STDOUT
by ptkdb (Monk) on Nov 18, 2003 at 18:43 UTC |