$h{ $_ } = $_ for 0 .. 1e6;; cmpthese 1,{ a=>q[ while( ( $k, $v ) = each %h ){ my $x = "$k:$v"; } ], b=>q[ for my $k ( keys %h ){ my $x = "$k:$h{$k}"; } ], };; s/iter b a b 8.67 -- -83% a 1.52 472% --