Serguei Trouchelle <s...@cpan.org> writes: > Probably somewhere in MSDN.
But the list form of system() can be fixed for Windows, see http://blogs.perl.org/users/graham_knop/2011/12/using-system-or-exec-safely-on-windows.html > > The problem is not in Perl, the problem is in Windows command line > where single quote is not a quote, and double quote should be doubled > (or escaped) to work as people from bash/sh world would expect. > > Examples: > > C:\>perl -M5.010 -we "say ""a""" > a > > C:\>perl -M5.010 -we "say "a"" > Unquoted string "a" may clash with future reserved word at -e line 1. > Name "main::a" used only once: possible typo at -e line 1. > say() on unopened filehandle a at -e line 1. > > C:\>perl -M5.010 -we 'say "a"' > Can't find string terminator "'" anywhere before EOF at -e line 1. > > C:\>perl -M5.010 -we "say \"a\"" > a > > On 2019-02-26 09:32, Karen Etheridge wrote: >> Is there any documentation on that? `perldoc -f system` only describes >> the different handling of "system LIST" vs "system PROGRAM LIST" on >> windows, not any differences between different types of quote >> characters. >> >> On Mon, Feb 25, 2019 at 11:28 PM Serguei Trouchelle <s...@cpan.org> wrote: >>> On 2019-02-25 05:11, David Cantrell wrote: >>> >>>> I don't need to use Andreas's analysis tool to figure out what the >>>> common factor is in these test failures :-) >>>> http://cpantesters.org/distro/T/Test-Differences.html >>>> >>>> But I don't have access to any Windows machines, or any knowledge of how >>>> to use any of the tools on that platform or how to install stuff. Does >>>> anything exist now like the project a few years ago where Microsoft >>>> donated some cloudy VMs for use by perl people that already had a >>>> sensible toolchain and stuff installed? >>>> >>> I looked into the problem, the issue lies in calling system() with >>> double quotes. Double quotes on Win32 behave different from Unix-like >>> systems and should generally be avoided. This diff fixes the problem: >>> >>> 25,26c25,26 >>> < [ "\\N{U+2603}", "\\N{U+1F4A9}"], >>> < [reverse "\\N{U+2603}", "\\N{U+1F4A9}"] >>> --- >>> > [ qq{\\N{U+2603}}, qq{\\N{U+1F4A9}}], >>> > [reverse qq{\\N{U+2603}}, qq{\\N{U+1F4A9}}] >>> >>> >>> -- >>> S.T. >> Regards, Slaven -- Slaven Rezic - slaven <at> rezic <dot> de BBBike - route planner for cyclists in Berlin WWW version: http://www.bbbike.de Perl/Tk version for Unix and Windows: http://bbbike.sourceforge.net