LanX has asked for the wisdom of the Perl Monks concerning the following question:

OK another case where symmetry is broken

(continuing Re^3: Converting a list of numbers to use a range operator)

this works

DB<159> $a=inf => "inf" DB<160> --$a => "inf" DB<161> ++$a => "inf" DB<162> ++$a => "inf"

this doesn't

DB<156> $a=inf => "inf" DB<157> ++$a => "ing" DB<158> ++$a => "inh"

any clean way to avoid this?

I suppose any internal "numeric flag" or "dual var slot" is only set after (a clear) numeric operation...

Cheers Rolf

( addicted to the Perl Programming Language)


Stupid workaround proving my idea

DB<174> $a=inf+0 => "inf" DB<175> ++$a => "inf" DB<176> ++$a => "inf"

IMHO still a bug!

tested in 5.10

could someone plz test in newer versions and reply?

perl -e '$a=inf; print ++$a,"\n"' ing