Perl Infinity&NaN

perl-5.6.1以上なら、InfinityとNaNが扱えるらしい。

> 1e1000
inf

> 'inf' + 1
inf

> 'inf' * -1
-inf

>'inf'-'inf'
nan


数値リテラルとして認識されるのは

inf  <- /inf(inity)*/i
-inf <- /-inf(inity)*/i
nan  <- /nan/i


数値としては、inf, -inf, nanとして保存される。

> my $inf = "Infinity";
Infinity

> $inf += 0;
inf


ただし、0除算はerrorになる。

> 1 / 0
Illegal division by zero.

> 1 % 0
Illegal modulus zero.

参考:
looks_like_number() - Perl日記
perl561delta - perldoc.perl.org