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