Tried with perl 5.10 also, but same behaviour:my $fn = q{ C:\img\del me\pic (images)[2k]\00000253.jpg"};
But since this doesn't work either (as mentioned by ikegami):#works (note extra space required) "H:\TEST\ActivePerl-5.10.0.1001-MSWin32-x86-283495\perl\bin\perl.exe" +-e "my $fn = ' \"C:\img\del me\three (3\00000253.jpg\"'; system($fn)" #Doesn't work "H:\TEST\ActivePerl-5.10.0.1001-MSWin32-x86-283495\perl\bin\perl.exe" +-e "my $fn = '\"C:\img\del me\three (3\00000253.jpg\"'; system($fn)" 'C:\img\del' is not recognized as an internal or external command, operable program or batch file.
Then I don't consider this whole problem to be perl related.cmd.exe /c "C:\img\del me\three (3\00000253.jpg"
What I now need to understand is why the "(" char is treated in this special way in windows and what other chars create similar weird behaviour? Didn't think "(" was spcecial "meta-char", like | or > etc, that needed to be escaped (and even escaping it with ^ also didn't work).
In reply to Re^4: win32 parenthesis system weirdness
by ldln
in thread win32 parenthesis system weirdness
by ldln
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |