in reply to Find if a number is a multiple of a number.

use % for positive integer values.
$x = 4; $y = 12345679; if ( $y % $x == 0 ) { ... }
Boris

Replies are listed 'Best First'.
Re^2: Find if a number is a multiple of a number.
by Baratski (Acolyte) on Mar 02, 2005 at 12:50 UTC
    Reply to all. Sweeeet! Works great! And much, much faster than my code. Thanks!
Re^2: Find if a number is a multiple of a number.
by blazar (Canon) on Mar 03, 2005 at 07:41 UTC
    use % for positive integer values.
    What does make you think that the use % of is limited to positive integers?
    $ perl -le 'print for map $_%-3, -18..-15' 0 -2 -1 0
      The docs: from perlop
      Binary "%" computes the modulus of two numbers.Given integer operands $a and $b: If $b is positive, then "$a % $b" is $a minus the largest multiple of $b that is not greater than $a. If $b is negative then "$a % $b" is $a minus the smallest multiple of $b that is not less tha +n $a (i.e. the result will be less than or equal to zero). Note that when "use integer" is in scope "%" gives you direct access to the mod- ulus operator as implemented by your C compiler. This operator is not as well defined for negative operands, but it will execute faster.
      Boris
        Binary "%" computes the modulus of two numbers.Given integer operands $a and $b: If $b is positive, then "$a % $b" is $a minus the largest multiple of $b that is not greater than $a. If $b is negative then "$a % $b" is $a minus the smallest multiple of $b that is not less than
        And... so what?
        $a (i.e. the result will be less than or equal to zero). Note that when "use integer" is in scope "%" gives you direct access to the mod- ulus operator as implemented by your C compiler. This operator is not as well defined for negative operands, but it will execute faster.
        Is this the particular point on which you meant to draw the attention? If so, then it actually is a good point, however IMHO it belongs more to the realm of side notes...