Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: hash help

by davido (Cardinal)
on Sep 11, 2012 at 20:20 UTC ( [id://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

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others lurking in the Monastery: (5)
As of 2024-04-18 03:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found