I've never used IPC::Open2, but I would expect it has Unixy roots that lead to failure on Win32. Windows just doesn't do what Unix, and therefore most of Perl, expects here.
In short, whatever task you're trying to accomplish on Windows with IPC::Open2 probably requires a different approach.
Comment on Re: ActiveState woes : Is it EOF-blind?