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