in reply to Does $? work in NT?

If I were you I'd do a print STDOUT on the command syntax and the cwd just before I ran the compile command. Also you could try using backticks (perldoc perlop) instead of the system command just to get it up and running <bp>
$program_output = `compile_command`; print STDOUT $program_output;