Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

Re^9: Equivalent of unpack 'q' with 32-bit Perl (a8)

by RonW (Parson)
on Sep 08, 2016 at 16:34 UTC ( [id://1171415]=note: print w/replies, xml ) Need Help??


in reply to Re^8: Equivalent of unpack 'q' with 32-bit Perl (a8)
in thread Equivalent of unpack 'q' with 32-bit Perl

This seems to do what you are asking:

#!perl use strict; use warnings; use Digest::MD5 qw(md5 md5_hex); use Math::BigInt; my $foo = 'hello, world!'; my @v = unpack('q', md5($foo)); printf "%x %x\n", @v; my $h = substr(md5_hex($foo),0,16); # get first 8 bytes (pairs of hex +digits) my @w = reverse $h =~ /(..)/g; # split out the bytes and reverse +the order my $w = join('', @w); my $q = Math::BigInt->from_hex($w); print $q->as_hex();

I was surprised that it was necessary to reverse the bytes to get the same result as unpack('q', md5($foo)) but that's what it took.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (8)
As of 2024-04-24 12:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found