in reply to qx not always capturing stdout

Following up on dasgar's explanation: when you run a program at the command line in a terminal window, the default behavior (if you don't use any redirection) is to have both stdout and stderr outputs printed to the terminal.

I don't know about the "cmd.exe" (windows command-line shell), but in any *n*x shell (e.g. bash), you can redirect stdout and stderr independently.

When you use perl to run a shell command via backticks or qx, you could (if you want) include redirection, to have both stdout and stderr print to stream, like this:

my $major_minor = qx($Bin/$get_version_prog $filer 2>&1)
(not tested)

Replies are listed 'Best First'.
Re^2: qx not always capturing stdout
by GrandFather (Saint) on Mar 24, 2016 at 23:58 UTC

    The redirection works for Windows too.

    Premature optimization is the root of all job security