in reply to Re^2: packing and unpacking
in thread packing and unpacking

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;

Replies are listed 'Best First'.
Re^4: packing and unpacking
by ungalnanban (Pilgrim) on Mar 12, 2010 at 12:26 UTC


    while(1)
    {
    print"Thankyou...."
    }
    --$ugum@r--

      BTW, note that using bigint indiscriminately can have a massive performance penalty.  So be sure to always localize it to exactly where you actually need it (by putting extra {...} blocks around those sections).

      #!/usr/bin/perl use strict; use warnings; use Benchmark qw(cmpthese); { use bigint; # code that needs bigint my $r = 0x234; my $t = 0x345; my $x1 = $r << 32 | $t; #print $x1->as_hex; # other stuff that doesn't... # => unnecessarily slow! sub with_bigint { my $x = 1; $x = $x * 4 / 2 - 1 for 1..1000; } } # end of bigint sub no_bigint { my $x = 1; $x = $x * 4 / 2 - 1 for 1..1000; } cmpthese (-1, { with_bigint => \&with_bigint, no_bigint => \&no_bigint, }, ); __END__ Rate with_bigint no_bigint with_bigint 11.3/s -- -100% no_bigint 4073/s 35876% --