As always with Perl there is more than one way to do it. Below are a few examples of approaches to making common conversions between number representations. This is intended to be representational rather than exhaustive.
Some of the examples below use the Bit::Vector module from CPAN. The reason you might choose Bit::Vector over the perl built in functions is that it works with numbers of ANY size, that it is optimized for speed on some operations, and for at least some programmers the notation might be familiar.
How do I convert hexadecimal into decimal
Using perl's built in conversion of 0x notation:
How do I convert from binary to decimal
Perl 5.6 lets you write binary numbers directly with the 0b notation:
$number = 0b10110110;
Using pack and ord
$decimal = ord(pack('B8', '10110110'));
Using pack and unpack for larger strings
$int = unpack("N", pack("B32",
substr("0" x 32 . "11110101011011011111011101111", -32)));
$dec = sprintf("%d", $int);
# substr() is used to left pad a 32 character string with zeros.