> -----Original Message-----
> From: Zachary Buckholz [mailto:[EMAIL PROTECTED]]
> Sent: Tuesday, June 04, 2002 10:11 PM
> To: [EMAIL PROTECTED]
> Subject: probably a simple question
>
>
> Is there any function to tell if a number is even or odd?
> I am looking for an easy way to loop through a list and
> output table cell bgcolor based on even / odd.
>
> if its an even numbered row make it red if its odd make
> it blue.
>
> I have done it in the past by turning a switch on or off
> but I think there must be an easier way.
Odd numbers have a least sigificant bit of 1, so just mask
off that bit with bitwise-and:
$color = $row & 1 ? "blue" : "red";
Parens are a good idea when mixing operators. They aren't
required, since & has a higher precedence than ?:, but
they make the expression more clear:
$color = ($row & 1) ? "blue" : "red";
If you want a function, just use:
sub odd { $_[0] & 1 }
$color = odd($row) ? "blue" : "red";
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]