D:\>perl -MDevel::Peek -le "$x = (2 ** 53) - 1; Dump $x; $x++; Dump $x; $x++; Dump $x; $x++; Dump $x;" SV = NV(0x28e88c5a2f8) at 0x28e88c5a310 REFCNT = 1 FLAGS = (NOK,pNOK) NV = 9007199254740991 SV = PVNV(0x28e88c24e10) at 0x28e88c5a310 REFCNT = 1 FLAGS = (IOK,pIOK) IV = 9007199254740992 NV = 9007199254740991 PV = 0 SV = PVNV(0x28e88c24e10) at 0x28e88c5a310 REFCNT = 1 FLAGS = (IOK,pIOK) IV = 9007199254740993 NV = 9007199254740991 PV = 0 SV = PVNV(0x28e88c24e10) at 0x28e88c5a310 REFCNT = 1 FLAGS = (IOK,pIOK) IV = 9007199254740994 NV = 9007199254740991 PV = 0 #### D:\>perl -MMath::BigInt -le "$x = Math::BigInt->new(2.3); print $x; print ref($x);" NaN Math::BigInt D:\>perl -MMath::BigInt -le "$x = Math::BigInt->new(1) / 0; print $x; print ref($x);" inf Math::BigInt #### D:\>perl -MMath::BigInt -le "$x = Math::BigInt->new(1) / inf; print $x; print ref($x);" 0 Math::BigInt D:\>perl -MMath::BigInt -le "$x = Math::BigInt->new(1) / -inf; print $x; print ref($x);" -1 Math::BigInt