syphilis has asked for the wisdom of the Perl Monks concerning the following question:
The behaviour of that one-liner changes between perl-5.38.0 and perl-5.40.0. (See https://github.com/StrawberryPerl/Perl-Dist-Strawberry/issues/200.perl -MConfig -MPDL -e "printf("""Perl executable: %%s\nPerl version + : %%vd / $Config{archname}\nPDL version : %%s\n\n""", $^X, $^V, $ +PDL::VERSION)";
On perl-5.40.0, on the same Windows box, running the same 2 one-liners,I get:D:\>perl -le "print $];printf(""" wtf""")"; 5.038000 wtf D:\>perl -le "print $];printf("""wtf""")"; 5.038000 wtf
Why does that error occur ?D:\>perl -le "print $];printf(""" wtf""")"; Can't find string terminator '"' anywhere before EOF at -e line 1. D:\>perl -le "print $];printf("""wtf""")"; 5.040000 wtf
And with perl-5.40.0:D:\>perl -le "print $];printf("" wtf"")"; Can't find string terminator '"' anywhere before EOF at -e line 1. D:\>perl -le "print $];printf(""wtf"")"; Can't find string terminator '"' anywhere before EOF at -e line 1.
Is there some perl bugginess going on here ? ... or am I merely looking at changes in undefined (or implementation defined) behaviour ?D:\>perl -le "print $];printf("" wtf"")"; 5.040000 wtf D:\>perl -le "print $];printf(""wtf"")"; 5.040000 wtf
|
|---|