# New Ticket Created by Alex Jakimenko # Please include the string: [perl #125682] # in the subject line of all future correspondence about this issue. # <URL: https://rt.perl.org/Ticket/Display.html?id=125682 >
Code: say Date.new("2000-01-01") + 100000000; # OK say Date.new("2000-01-01") + 1000000000; # negative? say Date.new("2000-01-01") + 10000000000; # gahh... say Date.new("2000-01-01") + 10000000000000000000000000000000; # That's fun! Result: 275790-09-13 -199898-7017918-858993471 922823-7017917-9448928076 1999--14035828--4570789517646521952 Clearly a bug. More precisely: Code: say (Date.new("2000-01-01") + 536103961).perl; # OK! What if we add just one more day… say (Date.new("2000-01-01") + 536103962).perl; # Boom! Result: Date.new(1469802, 10, 17) Date.new(-1470002, 7017915, 858993485) Possibly some overflow.