You are viewing the version of this documentation from Perl 5.40.0-RC1. This is a development version of Perl.
hex EXPR

Interprets EXPR as a hex string and returns the corresponding numeric value. If EXPR is omitted, uses $_.

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

A hex string consists of hex digits and an optional 0x or x prefix. Each hex digit may be preceded by a single underscore, which will be ignored. Any other character triggers a warning and causes the rest of the string to be ignored (even leading whitespace, unlike oct). Only integers can be represented, and integer overflow triggers a warning.

To convert strings that might start with any of 0, 0x, or 0b, see oct. To present something as hex, look into printf, sprintf, and unpack.