http://qs321.pair.com?node_id=1105564


in reply to Re^5: capturing stderr of echo piped to a file
in thread capturing stderr of echo piped to a file

Okay I stand corrected in that order matters. That said, I honestly can't remember ever seeing 2>&1 not coming at the end of the command line, probably because doing so seems to indicate that it won't be captured to STDOUT as one desires.

~/stuff > cat JGBtest.txt Just a starting point ~/stuff > perl foobar.pl 2>&1 >>JGBtest.txt Going to STDERR ~/stuff > cat JGBtest.txt Just a starting point Normal STDOUT ~/stuff > perl foobar.pl 2>&1 >>JGBtest.txt | grep STD Going to STDERR ~/stuff > perl foobar.pl 2>&1 | grep STD Going to STDERR Normal STDOUT ~/stuff >

With all of the foregoing comments by both you and me in mind, I think you're first comment implies that it must come first in order to be captured. But in the interest of being complete even if I'm wrong, I included the final tests that does actually demonstrate what is happening on the command line (though it is not intuitive.) Also, it is possible that setting $| = 1; might alter the output ordering.

You must always remember that the primary goal is to drain the swamp even when you are hip-deep in alligators.