Current Path: > > usr > share > perl5 >
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
Attribute | Directory | - | - | |
B | Directory | - | - | |
CPAN | Directory | - | - | |
Class | Directory | - | - | |
Compress | Directory | - | - | |
Config | Directory | - | - | |
DBM_Filter | Directory | - | - | |
Devel | Directory | - | - | |
ExtUtils | Directory | - | - | |
File | Directory | - | - | |
Getopt | Directory | - | - | |
I18N | Directory | - | - | |
IO | Directory | - | - | |
IPC | Directory | - | - | |
Locale | Directory | - | - | |
Math | Directory | - | - | |
Memoize | Directory | - | - | |
Module | Directory | - | - | |
Net | Directory | - | - | |
Pod | Directory | - | - | |
Search | Directory | - | - | |
Term | Directory | - | - | |
Text | Directory | - | - | |
Thread | Directory | - | - | |
Tie | Directory | - | - | |
Time | Directory | - | - | |
URI | Directory | - | - | |
Unicode | Directory | - | - | |
User | Directory | - | - | |
encoding | Directory | - | - | |
overload | Directory | - | - | |
pod | Directory | - | - | |
unicore | Directory | - | - | |
vendor_perl | Directory | - | - | |
warnings | Directory | - | - | |
AnyDBM_File.pm | File | 2618 bytes | July 28 2025 08:07:09. | |
AutoLoader.pm | File | 15797 bytes | July 28 2025 08:07:09. | |
AutoSplit.pm | File | 19637 bytes | July 28 2025 08:07:09. | |
Benchmark.pm | File | 31025 bytes | July 28 2025 08:07:09. | |
CORE.pod | File | 3188 bytes | July 28 2025 08:07:09. | |
DB.pm | File | 18922 bytes | July 28 2025 08:07:09. | |
DBM_Filter.pm | File | 14385 bytes | July 28 2025 08:07:09. | |
DirHandle.pm | File | 1556 bytes | July 28 2025 08:07:09. | |
Dumpvalue.pm | File | 17556 bytes | July 28 2025 08:07:09. | |
English.pm | File | 4761 bytes | July 28 2025 08:07:09. | |
FileCache.pm | File | 5572 bytes | July 28 2025 08:07:09. | |
FileHandle.pm | File | 6784 bytes | July 28 2025 08:07:09. | |
FindBin.pm | File | 4561 bytes | July 28 2025 08:07:09. | |
Internals.pod | File | 2576 bytes | July 28 2025 08:07:09. | |
Memoize.pm | File | 36192 bytes | July 28 2025 08:08:32. | |
NEXT.pm | File | 18846 bytes | July 28 2025 08:07:09. | |
PerlIO.pm | File | 10459 bytes | July 28 2025 08:07:09. | |
Safe.pm | File | 25082 bytes | July 28 2025 08:07:09. | |
SelectSaver.pm | File | 1076 bytes | July 28 2025 08:07:09. | |
SelfLoader.pm | File | 17692 bytes | July 28 2025 08:08:32. | |
Symbol.pm | File | 4799 bytes | July 28 2025 08:07:09. | |
Test.pm | File | 30057 bytes | July 28 2025 08:08:32. | |
Thread.pm | File | 8287 bytes | July 28 2025 08:07:09. | |
UNIVERSAL.pm | File | 6594 bytes | July 28 2025 08:07:09. | |
URI.pm | File | 34790 bytes | January 09 2018 06:42:55. | |
XSLoader.pm | File | 11267 bytes | July 28 2025 08:07:09. | |
_charnames.pm | File | 33166 bytes | July 28 2025 08:07:09. | |
autouse.pm | File | 4238 bytes | July 28 2025 08:07:09. | |
base.pm | File | 10980 bytes | July 28 2025 08:07:09. | |
blib.pm | File | 2086 bytes | July 28 2025 08:07:09. | |
bytes.pm | File | 3754 bytes | July 28 2025 08:07:09. | |
bytes_heavy.pl | File | 758 bytes | July 28 2025 08:07:09. | |
charnames.pm | File | 20867 bytes | July 28 2025 08:07:09. | |
deprecate.pm | File | 3079 bytes | July 28 2025 08:07:09. | |
diagnostics.pm | File | 19038 bytes | July 28 2025 08:07:09. | |
dumpvar.pl | File | 15555 bytes | July 28 2025 08:07:09. | |
feature.pm | File | 17085 bytes | July 28 2025 08:07:09. | |
fields.pm | File | 9489 bytes | July 28 2025 08:07:09. | |
filetest.pm | File | 4003 bytes | July 28 2025 08:07:09. | |
if.pm | File | 3340 bytes | July 28 2025 08:07:09. | |
integer.pm | File | 3254 bytes | July 28 2025 08:07:09. | |
less.pm | File | 3204 bytes | July 28 2025 08:07:09. | |
locale.pm | File | 4855 bytes | July 28 2025 08:07:09. | |
meta_notation.pm | File | 2117 bytes | July 28 2025 08:07:09. | |
open.pm | File | 8021 bytes | July 28 2025 08:08:32. | |
overload.pm | File | 53314 bytes | July 28 2025 08:07:09. | |
overloading.pm | File | 1808 bytes | July 28 2025 08:07:09. | |
perl5db.pl | File | 316420 bytes | July 28 2025 08:07:09. | |
sigtrap.pm | File | 7606 bytes | July 28 2025 08:07:09. | |
sort.pm | File | 6081 bytes | July 28 2025 08:07:09. | |
strict.pm | File | 4738 bytes | July 28 2025 08:07:09. | |
subs.pm | File | 848 bytes | July 28 2025 08:07:09. | |
utf8.pm | File | 9116 bytes | July 28 2025 08:07:09. | |
utf8_heavy.pl | File | 31615 bytes | July 28 2025 08:07:09. | |
vars.pm | File | 2414 bytes | July 28 2025 08:07:09. | |
vmsish.pm | File | 4313 bytes | July 28 2025 08:07:09. | |
warnings.pm | File | 44756 bytes | July 28 2025 08:07:09. |
package integer; our $VERSION = '1.01'; =head1 NAME integer - Perl pragma to use integer arithmetic instead of floating point =head1 SYNOPSIS use integer; $x = 10/3; # $x is now 3, not 3.33333333333333333 =head1 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 in performance. Note that this only affects how most of the arithmetic and relational B<operators> handle their operands and results, and B<not> how all numbers everywhere are treated. Specifically, C<use integer;> has the effect that before computing the results of the arithmetic operators (+, -, *, /, %, +=, -=, *=, /=, %=, and unary minus), the comparison operators (<, <=, >, >=, ==, !=, <=>), and the bitwise operators (|, &, ^, <<, >>, |=, &=, ^=, <<=, >>=), the operands have their fractional portions truncated (or floored), and the result will have its fractional portion truncated as well. In addition, the range of operands and results is restricted to that of familiar two's complement integers, i.e., -(2**31) .. (2**31-1) on 32-bit architectures, and -(2**63) .. (2**63-1) on 64-bit architectures. For example, this code use integer; $x = 5.8; $y = 2.5; $z = 2.7; $a = 2**31 - 1; # Largest positive integer on 32-bit machines $, = ", "; print $x, -$x, $x+$y, $x-$y, $x/$y, $x*$y, $y==$z, $a, $a+1; will print: 5.8, -5, 7, 3, 2, 10, 1, 2147483647, -2147483648 Note that $x is still printed as having its true non-integer value of 5.8 since it wasn't operated on. And note too the wrap-around from the largest positive integer to the largest negative one. Also, arguments passed to functions and the values returned by them are B<not> affected by C<use integer;>. E.g., srand(1.5); $, = ", "; print sin(.5), cos(.5), atan2(1,2), sqrt(2), rand(10); will give the same result with or without C<use integer;> The power operator C<**> is also not affected, so that 2 ** .5 is always the square root of 2. Now, it so happens that the pre- and post- increment and decrement operators, ++ and --, are not affected by C<use integer;> either. Some may rightly consider this to be a bug -- but at least it's a long-standing one. Finally, C<use integer;> also has an additional affect on the bitwise operators. Normally, the operands and results are treated as B<unsigned> integers, but with C<use integer;> the operands and results are B<signed>. This means, among other things, that ~0 is -1, and -2 & -5 is -6. Internally, 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 L<perlmodlib/"Pragmatic Modules">, L<perlop/"Integer Arithmetic"> =cut $integer::hint_bits = 0x1; sub import { $^H |= $integer::hint_bits; } sub unimport { $^H &= ~$integer::hint_bits; } 1;
SILENT KILLER Tool