http://www.perlmonks.org?node_id=962025


in reply to Re^3: Rewrite Program Using Arrays
in thread Rewrite Program Using Arrays

Get rid of a scope, use preinc instead of postinc.

sub ikegami { my %wordcount; ++$wordcount{$_} for split ' ', $line; }
                  Rate loop with vars      with map loop sans vars       ikegami
loop with vars  8324/s             --          -19%           -20%          -22%
with map       10241/s            23%            --            -1%           -4%
loop sans vars 10370/s            25%            1%             --           -3%
ikegami        10666/s            28%            4%             3%            --

(Post-increment in void context is optimised to pre-increment, but it's not in void context in "with map".)