$MAX=1e7; cmpthese -1, { a => q[ my $c = 0; $_%2 and ++$c for 0 .. $MAX; print "a:$c" ], b => q[ my $c = 0; $_ =~ m[[02468]$] or ++$c for 0 .. $MAX; print "b:$c" ] };; a:5000000 a:5000000 b:5000000 b:5000000 s/iter b a b 3.50 -- -64% a 1.27 177% -- $MAX=1e8; cmpthese -1, { a => q[my $c = 0; $_%2 and ++$c for 0 .. $MAX; print "a:$c" ], b => q[ my $c = 0; $_=~ m[[02468]$] or ++$c for 0 .. $MAX; print "b:$c" ] };; a:50000000 a:50000000 b:50000000 b:50000000 s/iter b a b 34.3 -- -64% a 12.3 179% --