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

Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

my(@words, $count, $word); chomp(@words =<STDIN> ); foreach $word (@words) { $count{$word} += 1; #or $count{$word}++; } foreach $word (keys %count){ }

this gives an error requires package name..any one plz help me thanks in advance

Replies are listed 'Best First'.
Re: error asking pakage namewhile using hashes
by boftx (Deacon) on Oct 06, 2013 at 05:30 UTC

    Well, assuming you have a use strict; that you did not include in the code sample then %count is not being explicitly defined. You are declaring $count, but you are using it as a hash, $count{$word}. Change $count to %count and it should be okay.

    my(@words, %count, $word);

    Update: added explicit example of where to make the change.

    On time, cheap, compliant with final specs. Pick two.