in reply to Can't spawn "cmd.exe":

In this case I'm not even asking it to start cmd.exe, but yet it's telling me that it can't spawn it.

A command that requires the shell (such as one contains quotes) causes Perl to invoke the shell. This and related details is documented.

"Can't spawn "cmd": Bad file descriptor at temp2.plx line 11."

Are you checking $! to see if an error occurred? That would be incorrect.

.plx? Do you get the error without whatever packager you are using?