Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

packing and unpacking

by ungalnanban (Pilgrim)
on Mar 12, 2010 at 09:15 UTC ( #828246=perlquestion: print w/replies, xml ) Need Help??
ungalnanban has asked for the wisdom of the Perl Monks concerning the following question:

Hi, I want to get output as 0x23400000345....
in the below example
How to get?
i tried out, but unable to get the answer

$r=0x234; $t=0x345; $y=pack('L L',$t,$r); $x1=unpack('L!',pack('P',$y)); printf("\nThe value is $x1");

I didn't get constant output

--sugumar--

Replies are listed 'Best First'.
Re: packing and unpacking
by almut (Canon) on Mar 12, 2010 at 09:40 UTC
    my $r = 0x234; my $t = 0x345; my $y = pack('L L', $t, $r); my $x1 = unpack('Q', $y); printf "\nThe value is 0x%x", $x1; # 0x23400000345

    (in case you have a 64-bit perl)


      I don't know the 64-bit Perl.
      whether you are mentioning 64-bit processor or ...?

      I am using Perl version 5.8.8

      I ran the given code It shows the following error.
      Invalid type 'Q' in unpack at pack.pl line 9.
      --$ugum@r--

        You could also simply try

        my $x1 = $r << 32 | $t; printf "\nThe value is 0x%x", $x1; # 0x23400000345

        (though whether this works similarly depends of the build options of your perl)

        P.S.: What exactly do you need this for?  Maybe bigint or Math::BigInt would help.

        Update:

        use bigint; my $r = 0x234; my $t = 0x345; my $x1 = $r << 32 | $t; print $x1->as_hex;
        From perldoc -f pack:
        Q An unsigned quad value. (Quads are available only if your system supports 64-bit integer values _and_ if Perl has been compiled to support those. Causes a fatal error otherwise.)

        (($_="Mzz ojjdloobnf jt uvy5502383")=~y~b-zg2-5c96-81~a-z0-9~s)=~s~~~s; print

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://828246]
Approved by almut
help
Chatterbox?
[james28909]: yeah but it would rename those subs xD
[Lady_Aleena]: I'd say, go back to my scratchpad, and really look at what the 3 subs are doing, then play. Meanwhile, I am going afk for about an hour +/- a few minutes.

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (6)
As of 2017-05-24 05:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?