有可能有条件地“使用bigint”与Perl?

前端之家收集整理的这篇文章主要介绍了有可能有条件地“使用bigint”与Perl?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道我可以有条件地在Perl中使用一个模块,但是“pragmas”呢?我的测试显示,使用bigint可能比Perl中的正常数学慢得多,我只需要它来处理64位整数,所以我只想在Perl没有使用64位整数支持的时候使用它,我也是知道如何使用Config模块进行检查.

我尝试了各种各样的事情与eval和BEGIN块,但无法找出一种方式来有条件地使用bigint.我知道我可以使用Math :: BigInt,但是对于bigint和64位的情况,我不能使用单个的codepath.

解决方法

这实际上正常工作:
use Config;
BEGIN {
  if (! $Config{use64bitint}) {
    require bigint;
    bigint->import;
  }
}

不同编译时间之间的交互是复杂的(也许我会回来尝试稍后解释),但是足够的是,由于这里没有字符串eval,所以bigint所设置的标志会持续通过文件的其余部分或阻止你把BEGIN块放在里面.

猜你在找的Perl相关文章