in reply to Having to manually escape quote character in args to "system"?
I think its about the windows cmd shell and its quoting needs.
These give me a good clue but i cant quite explain what i mean
perl -E "$,='|'; say $^X, '-E', 'say for @ARGV', 1, qq(\\\x22), 2" C:\Perl\bin\perl.exe|-E|say for @ARGV|1|\"|2
perl -E "$,='|'; say $^X, '-E', 'say for @ARGV', 1, qq(\x22), 2" C:\Perl\bin\perl.exe|-E|say for @ARGV|1|"|2
perl -E "say for @ARGV" 1 \" 2 1 " 2
perl -E "say for @ARGV" 1 " 2 1 2
In the last case I SUSPECT windows is seeing " 2 as a single arg with an unterminated quote and its terminating it for us
|
---|