Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re^3: Perl 5.34 is released

by syphilis (Archbishop)
on May 24, 2021 at 11:59 UTC ( [id://11132957]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Perl 5.34 is released
in thread Perl 5.34 is released

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

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11132957]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (6)
As of 2024-04-23 14:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found