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

Rolf your tricks seems to be easy and very helpful could you please direct me where I can read more about these sort of stuff about perl.

Replies are listed 'Best First'.
Re^3: substitution "0" in decimals
by AnomalousMonk (Archbishop) on Dec 08, 2009 at 00:30 UTC
Re^3: substitution "0" in decimals
by LanX (Saint) on Dec 08, 2009 at 00:51 UTC
    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 ==)