in reply to ipc::open3 start process

I'm not entirely sure but there may be some wierdness with the mix of buffered IO and the sysread. You may try replacing your sysread call with a plain read call. I'd also do the same thing on the print STDOUT <$fh>, read from it and print until the handle is drained.

I just worked on a similar chunk of code and switching to read everywhere seemed to clear up any issues I had with it. Didn't take the time to figure out exactly why (ran across a note somewhere about issues with mixing buffered IO and sysread)