in reply to Quotable Quotes
This is the way of Windows.
Outside perl, Windows is doing two levels of (what we would call) interpolation. The first level is when the command is submitted from C. The 'command' in this case is the one which runs cmd.exe. That is where the quotes are stripped - and the Windows API does that.
You are correct that by the time it arrives at cmd.exe the quotes are gone, but are forgetting the extra command-line step. Google "msdn CreateProcess" (2nd argument - lpCommandLine).