http://qs1969.pair.com?node_id=573193


in reply to Hash problem - Perl noob

Here's a bit of critique...
for $i (@phrase) { $wordfreq{"$phrase[ $j ]"}++; # print "$wordfreq{\"$phrase[ $j ]\"} appears $wordfreq{\"$phrase[ +$j ]\"}\n"; $j++; }
First, in each run of the loop over @phrase, $i holds the particular element, so you can be saying $wordfreq{$i}++ instead of $wordfreq{$phrase[$j]}. Second, you're using quotes around $phrase[$j] that are totally unnecessary. Third, your (commented out) print statement probably should have looked like: print "$i appears $wordfreq{$i} times\n";.

As for your "trouble formatting the report", maybe you should print some newlines or something.

for my $word (keys %wordfreq) { print "$word appears $wordfreq{$word} times\n"; }

Jeff japhy Pinyan, P.L., P.M., P.O.D, X.S.: Perl, regex, and perl hacker
How can we ever be the sold short or the cheated, we who for every service have long ago been overpaid? ~~ Meister Eckhart