


integer(3p)      Perl Programmers Reference Guide     integer(3p)


NAME
       integer - Perl pragma to compute arithmetic in integer
       instead of double

SYNOPSIS
           use integer;
           $x = 10/3;
           # $x is now 3, not 3.33333333333333333


DESCRIPTION
       This tells the compiler to use integer operations from
       here to the end of the enclosing BLOCK.  On many machines,
       this doesn't matter a great deal for most computations,
       but on those without floating point hardware, it can make
       a big difference.

       Note that this affects the operations, not the numbers.
       If you run this code

           use integer;
           $x = 1.5;
           $y = $x + 1;
           $z = -1.5;

       you'll be left with `$x == 1.5', `$y == 2' and `$z == -1'.
       The $z case happens because unary `-' counts as an opera-
       tion.

       Native integer arithmetic (as provided by your C compiler)
       is used.  This means that Perl's own semantics for arith-
       metic 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 the Pragmatic Modules entry in the perlmod manpage.
















2000-04-06                 perl v5.6.0                          1


