bigint

任意長整数を使用する。

実装としては Math::BigIntラッパーになっており、長整数は Math::Bigintオブジェクトになる。

use bigint;
my $big = 1234567890123456789012345678901234567890;
print ref($big), " $big\n";
 ↓
Math::BigInt 1234567890123456789012345678901234567890

use bigint lib => 'GMP';
長整数演算を GMPライブラリーで行なう。GMPが未インストールの場合はエラー。

use bigint try => 'GMP';
GMPライブラリーがインストールされていれば、長整数演算を GMPで行なう。

use bigint qw(oct hex)
oct, hex関数を bigintバージョンに置換する。

my $oct = oct("0123456701234567");    # Math::BigInt->from_oct と同じ
print ref($oct), " $oct\n";
my $hex = hex("123456789abcdef0123fed");     # Math::BigInt->from_hex と同じ, 先頭に 0xがあってもOK
print ref($hex), " $hex\n";
  ↓
Math::BigInt 5744368105847
Math::BigInt 22007822920628982378545133

その他: