in reply to open3 hangs

Just a few wild guesses....

You have STDIN as undefined, I don't know if IPC3 likes that, it may want a 0 (true or false); and it may have to be a dummy filehandle in there to keep STDIN open for some reason.

my $pid = open3( \*WRITE, \*READ, 0, "bc"); #if \*ERROR is false, STDERR is sent to STDOUT
you may want to look at the examples in "perldoc -q stderr" and see how they use gensym and IO modules.

If you don't need STDIN to the spawned program, why even use IPC::Open3? A plain piped open with 2>&1 should work, unless you absolutely need to separate STDOUT from STDERR.


I'm not really a human, but I play one on earth My Petition to the Great Cosmic Conciousness