in reply to Re: Segmentation Fault - Child/Output collision?
in thread Segmentation Fault - Child/Output collision?

From perldoc IPC::Open3:
It will not create these file handles for you. You have to do this yourself. So don't pass it empty variables expecting them to get filled in for you.
So you can't pass FAKEHANDLE like you do; instead, you'd need to open /dev/null for reading and pass that.

However, if as in your example you're not interested in communicating with your process as it runs, why not just say

system("$make_cmd -v -f $makefile > $outlog_filename 2> $errlog_filena +me")
instead?

Replies are listed 'Best First'.
Re: Re: Re: Segmentation Fault - Child/Output collision?
by Stormr (Beadle) on Aug 07, 2001 at 16:29 UTC

    Clarifying: FAKEHANDLE *is* a real filehandle, as said in the comment ("FAKEHANDLE is a closed filehandle"), so it runs just fine. I didn't include the code lines treating it though, as I found them rather redundant.

    Unfortunately system() does just the same thing here as my IPC::Open3 call, and as well as being an equally nice bit of code (nicer?), it doesn't prevent the segmentation fault.

    / Stormr