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