Perl> $loop = 1; $counter = 0; cmpthese -1, { and=>sub{ for(1..$loop){ ++$counter & 1 and 1 } }, mod=>sub{ for(1..$loop){ ++$counter % 2 and 1 } } };; Rate mod and mod 517876/s -- -2% and 525790/s 2% -- Perl> $loop = 10; $counter = 0; cmpthese -1, { and=>sub{ for(1..$loop){ ++$counter & 1 and 1 } }, mod=>sub{ for(1..$loop){ ++$counter % 2 and 1 } } };; Rate mod and mod 229555/s -- -7% and 245513/s 7% -- Perl> $loop = 100; $counter = 0; cmpthese -1, { and=>sub{ for(1..$loop){ ++$counter & 1 and 1 } }, mod=>sub{ for(1..$loop){ ++$counter % 2 and 1 } } };; Rate mod and mod 35041/s -- -6% and 37118/s 6% -- Perl> $loop = 1000; $counter = 0; cmpthese -1, { and=>sub{ for(1..$loop){ ++$counter & 1 and 1 } }, mod=>sub{ for(1..$loop){ ++$counter % 2 and 1 } } };; Rate mod and mod 3641/s -- -7% and 3931/s 8% -- Perl> $loop = 1000; $counter = 0; cmpthese -1, { and=>sub{ for(1..$loop){ ++$counter & 1 and 1 } }, mod=>sub{ for(1..$loop){ ++$counter % 2 and 1 } } };; Rate mod and mod 3725/s -- -7% and 3989/s 7% --