Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: hash to count words

by NetWallah (Abbot)
on Sep 13, 2012 at 14:30 UTC ( #993504=note: print w/ replies, xml ) Need Help??


in reply to hash to count words

Please use "code" tags correctly, as described in Writeup Formatting Tips.

Your regex "$word =~ s/^\w\x\//g;" is invalid.

you probably want:

$word=~s/[^\w]//g; # Eliminate non-word chars
Your re-initilazation of "%hash=()" within the loop makes the hash useless.

Declare it outside the loop, and add data to it using

$hash{$word}++; # Get a count of the word
Later , you can get a list of words found by accessing:
keys (%hash)
Please try to follow davido's excellent advice in response to your previous question on the same subject.

             I hope life isn't a big joke, because I don't get it.
                   -SNL


Comment on Re: hash to count words
Select or Download Code
Replies are listed 'Best First'.
Re^2: hash to count words
by underoathed (Initiate) on Sep 13, 2012 at 14:46 UTC

    So here is what i have for code so far for the hash.

    #!/usr/bin/perl -w open (IN, $file) or die "Cannot open file '$file' : $!\n; $line = <IN>; @array = split ( ' ', $line); foreach $word (@array){ $word =~ s/^\w\w//g; $word = lc ($word); print "$word\n";} $hash {$the}++; $hash {$linux}++; $hash {$hello}++;
    What am I doing wrong?
      Ok - I'll take a stab at answering your question "What am I doing wrong?" :
      • Not using 'strict'. (add "use strict;" to the top of your code)
      • Not using canonical "open" with local filehandle. (Try : open(my $f, "<", $file) or die "Cannot open '$file':$!";)
      • Not declaring variables (use my @array; (follows from "use strict"))
      • Not formatting/aligning your code for visibility
      • Not following advice (davido's code works for what you need)
      • Not reading how hashes work
      • Not closing the file handle you opened.
      • Not posing your question(s) clearly
      • Not showing what you expect as a result of your code
      • Not showing sample data
      The answer to the question in your previous post on the meaning of "/g" can be found by running "perldoc perlre".

                   I hope life isn't a big joke, because I don't get it.
                         -SNL

        Please allow an addition to the list: Not bothering to fix a previous post known to be problematic.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://993504]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (15)
As of 2015-07-07 21:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (93 votes), past polls