=over =item hex EXPR X X =item hex Interprets EXPR as a hex string and returns the corresponding numeric value. If EXPR is omitted, uses L|perlvar/$_>. 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 C<0x> or C 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 L|/oct EXPR>). Only integers can be represented, and integer overflow triggers a warning. To convert strings that might start with any of C<0>, C<0x>, or C<0b>, see L|/oct EXPR>. To present something as hex, look into L|/printf FILEHANDLE FORMAT, LIST>, L|/sprintf FORMAT, LIST>, and L|/unpack TEMPLATE,EXPR>. =back