in reply to Re^6: quoting issue with system command (internals)
in thread quoting issue with system command

The brain-dead CMD.exe shell doesn't do as much or as fancy of I/O redirection as Perl's syntax supports. Are you sure it doesn't set up the handles before calling CreateProcess?

So, the command is tried directly first, and if that fails, it tries it through CMD.EXE (I already know that it ignores COMSPEC and always uses the default system shell). There is a further issue of separating out the program name/specification from the command tail.

If multiple arguments are used, I would expect it to simply use the first arg as the ApplicationName. If passed one string, it needs to parse out the first argument the same way a command-line user would expect.

I can see the "indirect object" form is possible as well, using the indirect object as the ApplicationName which may be different from the first param in the string.

—John

  • Comment on Re^7: quoting issue with system command (internals)