integer - Perl pragma to compute arithmetic in integer instead of doubleSYNOPSIS
use integer; $x = 10/3; # $x is now 3, not 3.33333333333333333DESCRIPTION
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. 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 the Pragmatic Modules entry in the perlmod manpage.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |