home *** CD-ROM | disk | FTP | other *** search
/ Acorn User 10 / AU_CD10.iso / Updates / Perl / Non-RPC / !Perl / lib / zip / integer.pm < prev    next >
Text File  |  1998-07-30  |  844b  |  44 lines

  1. package integer;
  2.  
  3. =head1 NAME
  4.  
  5. integer - Perl pragma to compute arithmetic in integer instead of double
  6.  
  7. =head1 SYNOPSIS
  8.  
  9.     use integer;
  10.     $x = 10/3;
  11.     # $x is now 3, not 3.33333333333333333
  12.  
  13. =head1 DESCRIPTION
  14.  
  15. This tells the compiler to use integer operations
  16. from here to the end of the enclosing BLOCK.  On many machines, 
  17. this doesn't matter a great deal for most computations, but on those 
  18. without floating point hardware, it can make a big difference.
  19.  
  20. Note that this affects the operations, not the numbers.  If you run this
  21. code
  22.  
  23.     use integer;
  24.     $x = 1.5;
  25.     $y = $x + 1;
  26.     $z = -1.5;
  27.  
  28. you'll be left with C<$x == 1.5>, C<$y == 2> and C<$z == -1>.  The $z
  29. case happens because unary C<-> counts as an operation.
  30.  
  31. See L<perlmod/Pragmatic Modules>.
  32.  
  33. =cut
  34.  
  35. sub import {
  36.     $^H |= 1;
  37. }
  38.  
  39. sub unimport {
  40.     $^H &= ~1;
  41. }
  42.  
  43. 1;
  44.