use strict; use warnings; use Benchmark qw( cmpthese ); my $OUTER = $ARGV[0] || -3; my $INNER = $ARGV[1] || 1000; # ---------------------------------------- my %tests = ( 'w=1' => <<'__EOI__', use warnings; $arg .= $arg; __EOI__ 'w=0' => <<'__EOI__', no warnings; $arg .= $arg; __EOI__ ); # ---------------------------------------- my %bench = map { $_ => "use strict; use warnings; our \$arg; for (1..$INNER) { $tests{$_}; } " } keys %tests; { local our $arg = ''; cmpthese($OUTER, \%bench); print("\n"); print("Multiply by $INNER to get real rate.\n"); }