for (my $i = 0; $i < 1000000; $i += 2) {$sum += $i}
####
for my $i (map {$_ * 2} 0 .. 1000000 / 2) {$sum += $i}
####
#!/usr/bin/perl
use strict;
use warnings;
use Benchmark;
timethese -10, {
C => 'my $sum; for (my $i = 0; $i < 1000000; $i += 2) {$sum += $i}',
AWK => 'my $sum; for my $i (map {$_ * 2} 0 .. 1000000 / 2) {$sum += $i}'
};
__END__
Benchmark: running C, AWK for at least 10 CPU seconds...
C: 10 wallclock secs (10.66 usr + 0.00 sys = 10.66 CPU) @ 1.41/s (n=15)
AWK: 10 wallclock secs (10.08 usr + 0.00 sys = 10.08 CPU) @ 0.69/s (n=7)