Re: Windows testing/debugging
[email protected] (Serguei Trouchelle)
| Newsgroups | perl.cpan.testers.discuss |
|---|---|
| Message-ID | <[email protected]> |
Probably somewhere in MSDN. 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 <[email protected]> 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. > -- S.T.