sub hex16dec{ my( $hi, $lo ) = split '(.{8}$)', $_[0]; return hex( $hi ) * 2**32 + hex( $lo ); } $value = '123456789ABCDEF'; printf "%.f\n", hex16dec $value; 81985529216486896