Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re^4: pack() returns an unusable string

by syphilis (Archbishop)
on May 30, 2021 at 08:46 UTC ( [id://11133287]=note: print w/replies, xml ) Need Help??


in reply to Re^3: pack() returns an unusable string
in thread pack() returns an unusable string

unpack "H*" hasn't changed, so what you're saying makes no sense.

Well - you apparently knew that, but I didn't.
I was fairly certain it would be the case and that it should be the case, but I wanted to verify it with an actual example, and your approach does not provide that verification.
(Admittedly, it is pretty hard to see how anything else *could* be the case ;-)

I was also wanting to do the same thing, but replacing "H*" with "D" - in order to verify that rounding would be performed as expected. (It is ... so long as one's expectation is correct.)
Wrt perl-5.34.0, unlike unpack("H*", $string) we see that the value returned by unpack("D", $string) will often vary between 'double' and 'long double' builds, for the very same $string.
I don't doubt that you regard running those checks as also being something that "makes no sense".
But having a "D" template on a perl whose nvtype is 'double' is a little disconcerting to me, and I just want to make sure that its behaviour is clear in my mind.

Cheers,
Rob

Replies are listed 'Best First'.
Re^5: pack() returns an unusable string
by ikegami (Patriarch) on May 31, 2021 at 17:58 UTC

    I was also wanting to do the same thing, but replacing "H*" with "D"

    That totally misses the point. I suggested using unpack "H*" as a form of serialization. You'd use in the parent and pack "H*" in the child in addition to pack "d" or pack "D" or whatever you want to test.

    Seeking work! You can reach me at ikegami@adaelis.com

      That totally misses the point

      Yes, it totally misses *your* point, just as you are intent on totally missing mine.

      Cheers,
      Rob

        All you said you wanted to wanted to use D "in order to verify that rounding would be performed as expected."

        I took that to mean you wanted to test packing/unpacking D in one perl and unpacking in the other. I'm guessing you want to test how D works with different Perl build settings. Is it not this?

        Anyway, no need to be such a jerk just cause I didn't understand a vague statement you just made. If I got it wrong, just clarify what you meant.

        In any case, unless you want to test sending NUL bytes as in arguments (which you can't do), you missed the point: It doesn't matter how to send the bytes over from one program to another, and all I did was suggest a way of doing this. It doesn't interfere with your attempts to test D in the least, contrary to your claims.

        Seeking work! You can reach me at ikegami@adaelis.com

Re^5: pack() returns an unusable string
by ikegami (Patriarch) on May 31, 2021 at 01:10 UTC

    Why would you think that any or all of pack "H*" AND JSON encoders AND base64 encoders AND all the other alternatives I mentioned stopped working?

    Seeking work! You can reach me at ikegami@adaelis.com

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others browsing the Monastery: (4)
As of 2024-04-25 14:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found