in reply to Reverse Hexadecimal Translation

I'm not sure what you mean by "all-purpose". Do you want a function that will convert a decimal number to any base (ie base 2)? If you are just concerned with decimal to hex, here ya go:
# $dec - decimal number to convert to hex
# $pad - (optional) how long the hex number must be (a minimum).  If
#        it is not this long, it will be padded with zeros.
# $x   - (optional) pass 1 if you want the number to have a '0x' at the
#        beginning. 
sub toHex
{
    my ($dec, $pad, $x) = @_;
    my $hex;
    my $str = "%";

    $str = "0x" . $str if($x);
    $str .= "0" . $pad if($pad);
    $str .= "x";
    $hex = sprintf($str, $dec);

    return $hex;
}

my $hex1 = toHex(15, 4, 1);
my $hex2 = toHex(3045);
my $hex3 = toHex(255, undef, 1);

print "$hex1 $hex2 $hex3\n";
Output:
0x000f be5 0xff