There was some discussion of Win32, pipes, and select on p5p a while ago (in the context of borging CPANPLUS and its prerequisites) that may prove discouraging to you. One sub-thread was
IPC::Run on win32 failures.
I'm not sure how you go about using WaitForMultipleObjects from perl, if that's a possible solution.