in reply to Inconsistent system call from backticks vs system()

You may want to read this. That way I don't have to get too detailed. But in general:
When you run a command with backticks you should not need to redirect using the 2>&1. All output from the program will be redirected to your variable(AFAIK); when you want to capture output, use the backticks...not system(). Try removing the 2>&1 and see if you get the behavior you expected when using backticks.
HTH,
Chris

Replies are listed 'Best First'.
Re: Re: Inconsistent system call from backticks vs system()
by Tanalis (Curate) on Jul 01, 2003 at 14:15 UTC
    The reason for the 2>&1 is to trap STDERR as well as STDOUT, as perlop explains in its examples.

    I'm aware that system() doesn't trap output, and I don't intend using it, but unless I can get the backticks to work as I expect them to (system with STDOUT and STDERR trapping) I'll have to think of some other way to do this :/

    Thanks for the feedback.

    -- Foxcub
    #include www.liquidfusion.org.uk

      I know why you used 2>&1. But I'm saying that w/backticks you shouldn't need to trap. UPDATE: Deleted example Ahh, but w/further testing...I found that it was the C program printing. I did need the trap, and I was incorrect on my previous post. I apologize. (It did work fine w/the trap however. The post below mine makes a good point about the './' and a possible path issue)
      Chris