http://www.perlmonks.org?node_id=1007234


in reply to IPC::Open3 STDIN never sees eof on win32?

You child is suffering from buffering, this works for me (wait hangs, probably a bug)

perl -MIPC::Open3 -e " open3(\*IN,q{>&STDOUT},q{>&STDERR},qw[perl -pe +1 ]); print IN 666,$/; close IN; sleep 3 "

For some stuff see Does IO::Select work? Anywhere?, Bidirectional IPC with Expect and Passthrough, Windows, threads and IPC::Open3, IPC::Open3 failure on Win32, win32 open3 strangeness, IPC::Open3 and Win32

And maybe also waitpid on Win32 ... wait forever, wait is broken on win32?

If you don't need interactivity IPC::Run3 works well enough