From: Gurusamy Sarathy Date: Sun, 18 Jul 1999 01:16:59 +0000 (+0000) Subject: mention the -Minteger effect on modulus (from Nathan Torkington) X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=47f6b1df3e028ac6a813ea58707e6a92837c0659;p=p5sagit%2Fp5-mst-13.2.git mention the -Minteger effect on modulus (from Nathan Torkington) p4raw-id: //depot/perl@3690 --- diff --git a/lib/integer.pm b/lib/integer.pm index 8949318..f6be58a 100644 --- a/lib/integer.pm +++ b/lib/integer.pm @@ -28,6 +28,17 @@ code you'll be left with C<$x == 1.5>, C<$y == 2> and C<$z == -1>. The $z case happens because unary C<-> counts as an operation. +Native integer arithmetic (as provided by your C compiler) is used. +This means that Perl's own semantics for arithmetic operations may +not be preserved. One common source of trouble is the modulus of +negative numbers, which Perl does one way, but your hardware may do +another. + + % perl -le 'print (4 % -3)' + -2 + % perl -Minteger -le 'print (4 % -3)' + 1 + See L. =cut