Have you tried to use this on Win32? Have you seen the list of win32 limitations? In particular:
IPC::Run uses helper processes, one per redirected file, .... This is a waste of resources and will change in the future to either use threads (instead of helper processes) or a WaitForMultipleObjects call (instead of select).
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
I haven't tried anything at all on Win32 in the past 10 years, but the OP said he was going to test on Windows and deploy on "*nix" so it might not be such a bad idea.