#!/usr/bin/perl -w use strict; my @elem = (0..100_000); use Benchmark ':all'; cmpthese ( 100, { 'mapn' => sub { my @e = @elem; @e = map { $_ if (s/0/./g || 1) } @e }, 'for ' => sub { my @e = @elem; for (@e) { s/0/./g } }, 'mapc' => sub { my @e = map { $_ if (s/0/./g || 1) } @elem }, });