Beefy Boxes and Bandwidth Generously Provided by pair Networks Cowboy Neal with Hat
Do you know where your variables are?
 
PerlMonks  

Re: hash help

by davido (Archbishop)
on Sep 11, 2012 at 20:20 UTC ( #993056=note: print w/ replies, xml ) Need Help??


in reply to hash help

On line 2 you're not using open correctly, and not checking the return value for success (see perlopentut). You never read from a file at all. The rest accomplishes nothing useful.

Almost everything you need to accomplish this task is addressed in perlintro. Here is a solution expressed as a one-liner (which would also require reading a little from perlrun and perlrequick):

perl -nE '$count{$1}++ while /\b(the|hi|linux)\b/ig; END{say "$_ => $c +ount{$_}" for keys %count}' filename.txt

As a full script, it might look like this:

#!/usr/bin/perl open $fh, '<', $ARGV[0] or die $!; while( <$fh> ) { $count{$1}++ while /\b(the|hi|linux)\b/ig; } print "$_ => $count{$_}\n" for keys %count;

Run it as:

$ ./scriptname filename.txt

Update: It would have been polite to let us know you are following up to the question you asked here: Help with accepting inputs, wordcount, and print to a file, if for no other reason than to provide us with that additional context.


Dave


Comment on Re: hash help
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (6)
As of 2014-04-20 12:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (485 votes), past polls