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.