Hmm. On Windows I'm currently using a self-compiled 5.14.1 using the strawberry environment but I see the same with "real" strawberry 5.12.2. It seems that re-opening STDERR on windows decouples perl STDERR and the C library STDERR which I can't quite understand since I assumed that they were both fd=2 and I can redirect them both with 2>somewhere on the command line. It's just that perl doesn't see the C library STDERR as STDERR any more. The actual library is using really basic stdio ( fprint(stderr ... ) which is most certainly fd=2. Can perl and C have "different" STDERRs on windows?