in reply to Returning status to parent from pipe

If you're using the bash shell something like this might work:

if (fork()){ } else { exec 'com1 | com2; exit $PIPESTATUS[0]'; }

You can read more about this in the bash manual.

Replies are listed 'Best First'.
Re^2: Returning status to parent from pipe
by morrin (Acolyte) on Aug 25, 2010 at 21:11 UTC
    Thanks for the replies I had read about the PIPESTATUS variable in bash ..... for some reason I thought that a perl exec would always run in 'sh'. It does on my system. Apologies if this is a very basic question, but can I change that so that it does run in a bash shell?
      On my system, /bin/sh runs bash. But you could specify which shell you want.
      exec(bash => (-c => 'com1 | com2; exit $PIPESTATUS[0]'));