use Math::BigInt; print bytearray_to_bigint(127,2); use Data::Dumper; sub bytearray_to_bigint { my @array = reverse @_; #Big Endian my $result = Math::BigInt->new('0'); foreach my $a (@array) { ($result <<= 8) += $a; # This alternative doesn't work: # $result = $result->blsft(8)->badd($a); } return $result; } #### @ulongs = unpack 'V*', $bytestring;