in reply to Re^3: waitpid on Win32 ... wait forever
in thread waitpid on Win32 ... wait forever

-o is not a valid switch for cl

It's deprecated, but still seems to work.

the script doesn't add an extension to $output

I had modified the command to append a '.exe'.

I do not understand at all why they are using IPC::Open3

Nor do I.

Taking your suggestion, I opted to use 'warn' instead of 'print', in case STDOUT was going somewhere other than to the console. When I do:
warn "# $_" while <$out>; warn "# $_" while <$err>;
I get to see that I need to additionally link to bufferoverflowU.lib - and when I modify $cmd to do that, the executable gets built, and all bar one of the 00_ptr_cast.t tests pass:
ok 1 - compiling ptr_cast_test.c not ok 2 - STDERR empty after compiling # Failed test 'STDERR empty after compiling' # at t/local/00_ptr_cast.t line 30. # got: undef # expected: '' ok 3 - ./ptr_cast_test exited with 0 ok 4 - casting pointer integer and back worked ok 5 - STDERR empty after running # Looks like you failed 1 test of 5.
Maybe tomorrow I'll look at filing a bug report.
Thanks muchly for the help.

Cheers,
Rob