in reply to Unable to grab STDERR from a backtick command
I have the same problem with perl 5.10.1 under linux, but not with the original code, that works:
CMD : >>echddo 'arghh'<< RETURN_CODE: >>32512<< CMD_RESULT : >>sh: echddo: command not found <<
However, I want to trap an error from a simple command, but a bad one. For example, a misspelled command:
my $cmd = "hostnam";Here I can't trap the error:
CMD : >>hostnam<< RETURN_CODE: >>-1<< CMD_RESULT : >><<
The odd thing is that if I redirect STDOUT/STDERR to a file instead, the error is redirected as expected.
`$cmd 1>./tmp 2>&1`; my $cmd_rc = $?; my $cmd_result = `cat ./t`;
CMD : >>hostnam<< RETURN_CODE: >>32512<< CMD_RESULT : >>sh: hostnam: command not found <<
Is there a better way to get the expected behavior without resorting to a file?
|
|---|