$var = '09'; $trans = '/3+5'; eval "$var$trans"; # eval gets '09/3+5' # Illegal octal digit '9' eval $var.$trans; # eval gets '09/3+5' # Illegal octal digit '9' eval '$var'.$trans; # eval gets '$var/3+5' # result: 8 #### use Devel::Peek; $var = '09'; Dump $var; $var + 0; Dump $var; $var / 3; Dump $var; __END__ SV = PV(0x2e352a0) at 0x2e24fc0 REFCNT = 1 FLAGS = (POK,IsCOW,pPOK) PV = 0x2e503f0 "09"\0 CUR = 2 LEN = 10 COW_REFCNT = 0 SV = PVIV(0x254b610) at 0x2e24fc0 REFCNT = 1 FLAGS = (IOK,POK,IsCOW,pIOK,pPOK) IV = 9 PV = 0x2e503f0 "09"\0 CUR = 2 LEN = 10 COW_REFCNT = 0 SV = PVNV(0x2ddfc90) at 0x2e24fc0 REFCNT = 1 FLAGS = (IOK,NOK,POK,IsCOW,pIOK,pNOK,pPOK) IV = 9 NV = 9 PV = 0x2e503f0 "09"\0 CUR = 2 LEN = 10 COW_REFCNT = 0