use Benchmark; my @array = qw(a b c d e f g h i j k l m n o p q r s t u v w z y z); my %hash; timethese(500000, { 'btrott' => sub { @hash{@array} = (1) x @array; }, 'httptech' => sub { for (@array) { $hash{$_} = 1 } }, }); Benchmark: timing 500000 iterations of btrott, httptech... btrott: 14 wallclock secs (14.58 usr + 0.00 sys = 14.58 CPU) httptech: 20 wallclock secs (20.68 usr + 0.01 sys = 20.69 CPU)