in reply to Intermixing STDOUT and STDERR to a file

# run a subprocess which output to STDOUT `pgp -h`;
Hmm. That's a confusing statement. You've got a void use of backticks (minus 2 for style points), and that's capturing the stdout of the pgp command, then discarding it. So, it's not going to STDOUT at all.

Perhaps what you mean is that the child process stderr is going to Perl's STDERR, which you've aliased (not dup'ed) to STDOUT. If so, that's not what I would have gotten from the comments. {grin}

The normally accepted dup'ing of STDOUT to STDERR that doesn't raise the uglies of not working with child processes and symbol table glob mangling is:

open STDERR, ">&STDOUT";

-- Randal L. Schwartz, Perl hacker

Replies are listed 'Best First'.
A reply falls below the community's threshold of quality. You may see it by logging in.