in reply to constant issue

400, 0620 and 400.0, 4*100 are all the same number. Perl doesn't recognize any difference. They can be used interchangeably.

If you use a representation that Perl doesn't recognize, that's when trouble starts. For example, Perl doesn't recognize '0620' as a representation of 400. That means '0620' is not the same number as 0620. (But oct('0620') is.)