> My code below does the following : > - Reads from STDIN > - Splits the input on whitespace > - And prints the frequency of terms, with each term printed next to its frequency on >STDOUT.
> if( exists $freq{$w} ){ > $freq{$w}++; > }else{ > $freq{$w} = 1; > } Increment is magical, if doesn't exist then it is created then incremented :) That means: $freq{$w}++; is okay. You are just processing a list of words, hence this should be okay: my %freq; do { foreach my $word (split /\s+/, <>) { $freq{$word}++; } } until eof; while (my ($key, $value) = each %freq) { print "$key $value\n"; } Which is a slightly different style that I'd typically would use... but it's nice and short, and you might learn something from it. :) Jonathan Paton __________________________________________________ Do You Yahoo!? Everything you'll ever need on one web page from News and Sport to Email and Music Charts http://uk.my.yahoo.com -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]