#!/usr/bin/perl use strict; use warnings; use Benchmark qw(:all); my %h; @h{'A'..'Z','a'..'z'} = 1..52; sub verbose { #my $hash = shift; foreach my $key (sort keys %h) { print "$key: $h{$key}\n"; } } sub idiom { #my $hash = shift; print map "$_: $h{$_}\n", sort keys %h; } my %tests = ( '01_verbose' => \&verbose, '02_idiom' => \&idiom, ); cmpthese( -10, #for 10 cpu secs \%tests ); __DATA__ Rate 02_idiom 01_verbose 02_idiom 5341/s -- -4% 01_verbose 5577/s 4% --