#!/usr/bin/perl use Benchmark qw(:all); my $count = 1000000; timethese($count, { 'Name1' => sub { my( $a, $b, $c, $d ) = qw( kookla fran and ollie ); foreach ($a, $b, $c, $d) { tr/a-z/A-Z/; } }, 'Name2' => sub { my( $a, $b, $c, $d ) = qw( kookla fran and ollie ); for my $i ($a, $b, $c, $d) { $i =~ tr/a-z/A-Z/; } }, }); #### Benchmark: timing 1000000 iterations of Name1, Name2... Name1: 15 wallclock secs (15.70 usr + 0.08 sys = 15.78 CPU) @ 63371.36/s (n=1000000) Name2: 15 wallclock secs (15.31 usr + 0.02 sys = 15.33 CPU) @ 65231.57/s (n=1000000)