http://qs321.pair.com?node_id=1140

lib:integer

See the current Perl documentation for lib:integer.

Here is our local, out-dated (pre-5.6) version:


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



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



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 operation.

See perlmod.