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)