Perl 除以零 - 需要无穷大

Eug*_*tov 2 perl

有没有办法获取inf-inf来自eval {1/0},eval {1/-0}而不是Illegal division by zero异常?

Sob*_*que 5

盒子外面?不,因为这是错误的答案。除以零是未定义的而不是无限的。

您可以使用类似的方法//来测试您的结果是否eval未定义:

my $result = eval { 1/0 } // 'inf';
print $result;
Run Code Online (Sandbox Code Playgroud)

并以这种方式设置默认值。(尽管在上面,'inf'是字符串;数字值可能更有用)。有一系列数学库可以为您提供inf类型常量,例如bignum bigrat bigint. 但可移植性可能是一个问题。