perl初学者关于oct()和hex()函数的问题

perl初学者关于oct()和hex()函数的问题

刚开始学习Learning Perl,第二章讲到看起来像十六进制或者八进制的字符串可以用oct()或者hex()转换为数组,我试了试这两个函数,如果hex("0xff")或者hex(ff)都可以得到正确结果,是hex(0xff)则得到另外一个结果,请问不加引号的时候perl是怎么解释这个数字的啊


QUOTE:
          hex EXPR
          hex     Interprets EXPR as a hex string and returns the
                  corresponding value.  (To convert strings that might
                  start with either 0, 0x, or 0b, see "oct".)  If EXPR
                  is omitted, uses $_.

                      print hex '0xAf'; # prints '175'
                      print hex 'aF';   # same

                  Hex strings may only represent integers.  Strings
                  that would cause integer overflow trigger a warning.
                  Leading whitespace is not stripped, unlike oct().

0xFF不是string...