Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: qx and STDERR?

by haukex (Archbishop)
on Nov 25, 2019 at 19:34 UTC ( [id://11109197]=note: print w/replies, xml ) Need Help??


in reply to qx and STDERR?

qx// only captures the command's STDOUT, to get STDERR, you'd have to use the redirection you showed, although whether that works will be dependent on the exact system you're running on - see The problem of "the" default shell.

print qx(ffmpg -f s16le -i out.raw 2>&1); does not capture the output of the ffmpeg-command.

Unfortunately I can't reproduce that, qx/ffmpeg ... 2>&1/ works for me on my Linux system. You'll have to be more specific about what system you're on, what version of Perl, version of ffmpeg, etc.

I am aware that there are other ways to capture stderr

Unless this is a script where you're certain it will only be run on one machine and it doesn't need to be portable, I really, strongly recommend to use one of those alternative ways. I wrote about them here (in short, IPC::Run3 for short-lived subprocesses, and IPC::Run for longer-running ones, in case you need to interact with them, run them in the background, etc.).

Replies are listed 'Best First'.
Re^2: qx and STDERR?
by morgon (Priest) on Nov 25, 2019 at 19:54 UTC
    Yeah. The default shell seems to be a likely culprit.

    I am on Debian testing, perl 5.26.1 ffmpeg 4.2.1.

    It's not a big deal, I just would like to understand what is going on...

      I just would like to understand what is going on...

      The versions you named don't seem very exotic, and without being able to reproduce it, I can't tell you more. Is qx(ffmpg -f s16le -i out.raw 2>&1) the actual command you're running (is "ffmpg" a typo)? Because if you're doing any other redirections there, the order makes a difference. Otherwise, I'd suggest debugging with strace and perhaps lsof to get some clues why your redirection isn't working.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11109197]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others rifling through the Monastery: (4)
As of 2024-04-19 22:32 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found