in reply to Re: $array[ 'Infinity' ]
in thread $array[ 'Infinity' ]
Using perl -MO=Deparse may shed some light on some of this weirdness, although I have no idea why on Earth anyone would implement 'inf' the way it works on my box.
printsperl -MO=Deparse -e 'print $n[inf]'
as doesprint $n[9**9**9];
perl -MO=Deparse -e 'print $n["inf"]'
On the other hand,
printsperl -MO=Deparse -e 'print $n[-inf]'
print $n[-'inf'];
printsperl -MO=Deparse -e 'print "", inf==0 ? "a" : "b", 'inf'==0 ? "c" : "d +", -inf==0 ? "e" : "f"'
print '', 'inf' == 0 ? 'a' : 'b', 'inf' == 0 ? 'c' : 'd', -'inf' == 0 +? 'e' : 'f';
As nearly as I can tell at the moment, inf is only equivalent 9**9**9 if it is used by itself as a subscript; it is taken as a bareword in a simple assignment, so
printsperl -MO=Deparse -e '$n[inf], $n[1+inf], $n[-inf] = inf'
$n[9**9**9], $n[1 + 'inf'], $n[-'inf'] = 'inf';
My perl -v shows,
This is perl, v5.8.8 built for i486-linux-gnu-thread-multi
Does anyone know why? - quester
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^3: $array[ 'Infinity' ]
by educated_foo (Vicar) on Dec 17, 2007 at 01:36 UTC | |
Re^3: $array[ 'Infinity' ]
by ww (Archbishop) on Dec 17, 2007 at 02:01 UTC | |
by ikegami (Patriarch) on Dec 20, 2007 at 00:25 UTC | |
Re: $array[ 'Infinity' ]
by benizi (Hermit) on Dec 19, 2007 at 23:55 UTC |
In Section
Seekers of Perl Wisdom