# New Ticket Created by Patrick R. Michaud # Please include the string: [perl #59336] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=59336 >
Code says it all: $ cat w.pir .sub main $P0 = new 'Integer' $P0 = 2147483600 test_10: print $P0 print " is" if $P0 > -10 goto skip_10 print " not" skip_10: say " greater than -10" test_1000: print $P0 print " is" if $P0 > -1000 goto skip_1000 print " not" skip_1000: say " greater than -1000" .end $ ./parrot w.pir 2147483600 is greater than -10 2147483600 is not greater than -1000 $ I suspect the problem is that the integer "greater than" operation is performing a subtraction between the two (signed long) values being compared, but the result of the subtraction is outside of the range of signed longs. Pm