in reply to Re^2: substitution "0" in decimals
in thread substitution "0" in decimals

I don't know which perldoc defines how scalars really work.

Roughly speaking (my interpretation):

It's supposed to be transparent if you store a string or a number to a scalar. Operators try an interpretation of operands according to their type.¹

Storing a number is subject of normalization, since 042.2, 42.20 and 42.2 all represent the same number.²

But if you store a string by quoting these numbers no information loss is allowed, every zero is a valid character.

So by reassigning a numeric value ( + is a numerical operator) the number gets normalized.

Cheers Rolf

(1) Thats why perl has (at least) 2 flavors for many operators, e.g. eq and == (see Equality Operators) , OTOH Javascript uses + also for concatenation of strings causing many new problems inexistent in perl.

(2) which may cause new problems, since many dezimal fractions can't be represented as floats w/o a little information loss. (see Re: eq vs ==)