<?xml version="1.0" encoding="windows-1252"?>
<node id="930787" title="Re^7: STDERR going to string" created="2011-10-11 07:30:44" updated="2011-10-11 07:30:44">
<type id="11">
note</type>
<author id="961">
Anonymous Monk</author>
<data>
<field name="doctext">
&lt;P&gt;&lt;I&gt;Am I missing something?&lt;/i&gt;
&lt;P&gt;&lt;C&gt;$ perl -le " print for map { fileno $_ }  \*STDIN, \*STDOUT, \*STDERR "
0
1
2
&lt;/C&gt;
&lt;P&gt;There is nothing you can do to change the fileno of STDIN/STDOUT/STDERR on a c-level on win32, they're always 0 1 2, so any c code printing on STDERR is printing on 2, always
&lt;P&gt;To capture STDERR you have to launch a process, or
&lt;P&gt;Patch XS module to use perl functions for printing to stderr ([doc://perlclib]), so that when you redirect STDERR/STDOUT (like using [mod://IO::NestedCapture]), it notices
</field>
<field name="root_node">
929318</field>
<field name="parent_node">
930769</field>
<field name="reputation">
1</field>
</data>
</node>
