hex EXPR
hex

将 EXPR 解释为十六进制字符串并返回相应的数值。如果省略 EXPR,则使用 $_.

print hex '0xAf'; # prints '175'
print hex 'aF';   # same
$valid_input =~ /\A(?:0?[xX])?(?:_?[0-9a-fA-F])*\z/

十六进制字符串由十六进制数字和可选的 0xx 前缀组成。每个十六进制数字前面可以有一个下划线,它将被忽略。任何其他字符都会触发警告,并导致字符串的其余部分被忽略(即使是前导空格,与 oct 不同)。只能表示整数,整数溢出会触发警告。

要转换可能以 00x0b 开头的字符串,请参见 oct。要以十六进制形式呈现内容,请查看 printfsprintfunpack.