I think that the problem you're having is that the perl executable doesn't manage I/O redirection.This can't be correct, for two reasons: If it were the case, the error should occur all the time (and not only occasionally), and @ARGV in the child process would have the "redirection parameters".
Actually, no shell isn't involved in this particular case. Redirection is performed in this case by the calling process, by system(1,...).
In reply to Re^2: Test whether STDOUT is connected to a file
by rovf
in thread Test whether STDOUT is connected to a file
by rovf
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |