in reply to Perl 5.34 is released

perldelta

The entry that pleases me most is:
perl can now be built with USE_QUADMATH on MS Windows using (32-bit an +d 64-bit) mingw-w64 ports of gcc.
And that's not something that's experimental !!

Of course, some are not interested in this.
(Others, even less so ;-)

Cheers,
Rob

Replies are listed 'Best First'.
Re^2: Perl 5.34 is released
by Tux (Canon) on May 24, 2021 at 08:15 UTC

    You're welcome. I've been adding tickets to CPAN modules for quadmath since it was enabled. I run it in production on my laptop and fed back all issues to p5p and was glad to see all were dealt with.

    To *me*, the fix to pack "D" to cope with quadmath was the most important one as it broke installing modules down the chain. Thanks leont for fixing that!


    Enjoy, Have FUN! H.Merijn
      To *me*, the fix to pack "D" to cope with quadmath was the most important one as it broke installing modules down the chain. Thanks leont for fixing that!

      I absolutely agree that this needed to be fixed - but I still have reservations about the actual fix that was implemented, and I raised those reservations (which were dismissed) in the discussions of that issue.

      In perl 5.32 and earlier, if you are running a perl whose nvtype was double, and you try to pack/unpack using the "D" template, here's what you get:
      C:\>perl -wle "$d = unpack 'D>', pack 'D>', 2.9; print $d" Invalid type 'D' in pack at -e line 1.
      I regard that as a sane and sensible result.
      Now, thanks to that fix, on a perl-5.34.0 whose nvtype is double, we get:
      C:\>perl -wle "$ld = unpack 'D>', pack 'D>', 2.9; print $ld" 2.9
      with no mention that $ld is not a long double, even though a "long double" has been specifically requested via the "D" template.
      I think the view is that no-one is going to make that mistake.
      But I still wonder why we would want to allow the use of "D" template on a perl whose nvtype is double, given that the "D" template is entirely useless and pointless in that circumstance.
      Anyway ... it's done now, and I shall live it with it.

      The "pack" documentation for "D" now, as of perl-5.34.0, looks questionable to me:
      D A float of long-double precision in native format. (Long doubles are available only if your system supports long double values. Raises an exception otherwise. Note that there are different long double formats.)
      Do you really think that accurately describes the behaviour of the "D" template on a perl-5.34.0 with nvtype of double ?

      Cheers,
      Rob