in reply to constant issue

You should be able to use decimal 400 as the value, since octal / hexadecimal / decimal literal representations of the same value ARE the same value. 0620 == 400 == 0x190

Note that you can only use octal and hexadecimal notation in numeric literals. String literals Strings used as numbers are always interpreted as decimal (and you should use oct() and hex() to convert octal and hexadecimal strings to numbers.

update: note also that numbers converted to string (as in print $number) also always result in decimal notation unless you use special formatting (like printf())