X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2Finteger.pm;h=f6be58a0eb78be4a8727c77abee35a896854ccf0;hb=1ba752a043289c0682ba096aba08751ac71b298a;hp=894931896fc2a5f9a23c0d94907915d165d4cbf2;hpb=a3cb178b0bad32fa8be934503d051b96a3cb1fea;p=p5sagit%2Fp5-mst-13.2.git 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