BTW, I double-checked the perldocs. The case about no redirection performed is documented there, but only for the implementation on RISC OS. About Windows, this restriction is not mentioned. Actually, the docs don't say anything at all about the Windows implementation.

However, I now found a reproducible case where the problem appear. What surprises me is the fact that it looks so simple:

... system(1,'perl.exe',$0,'SLAVE1','>out1.txt','2>&1'); ...
Here I found that the redirection is never set up, and indeed if I do a -t STDOUT in the child process, I always get a true value. Now it puzzles me why we have in our application so many cases which work. My best guess is that Perl, in those cases, finds something which makes it create an intermediate CMD.EXE process which sets up the redirection.

(Just in case you wonder: The reason why I call myself recursively via $0 is that my test program distinguishes by its first parameter whether it should act as a child instead as a parent).

-- 
Ronald Fischer <ynnor@mm.st>

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

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.