Not only CMD.EXE, but Windows as a whole. Launching executables using a system call is bound to the filename extension. Nevertheless, if Perl is indeed going through the shell in this case, then of course that offers a potential solution which did work in your case.