Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: Hash element exists/delete

by roboticus (Canon)
on Jan 22, 2013 at 11:06 UTC ( #1014622=note: print w/ replies, xml ) Need Help??


in reply to Hash element exists/delete

Dr. Manhattan:

While there are a few interesting topics, no-one has mentioned that the easiest way to remove the upper-case characters is not to have any in the first place:

my %H; while (<>) { my @words = map { lc } # map all words to lower case split /\s+/, $_; # break $_ into a list of words $H{$_}++ for @words; # add words to hash }

If you needed the upper-case versions at some point, then this may not be useful. But people frequently miss the opportunity to clean up the data before storing it, so I thought I'd mention it, just in case.

...roboticus

When your only tool is a hammer, all problems look like your thumb.


Comment on Re: Hash element exists/delete
Download Code
Re^2: Hash element exists/delete
by tmharish (Friar) on Jan 22, 2013 at 11:16 UTC

    Update:

    roboticus, You have assumed that the input is a list of words but it is of the format:

    Word Frequency Word Frequency Word Frequency Word Frequency

    Given this, the code should probably be:

    my %H; while (<>) { my ( $word, $freq ) = split /\s+/, $_; $word = lc( $word ) ; $H{ $word } += $freq ; }

    Although that does not change your primary thesis: people frequently miss the opportunity to clean up the data before storing it

    The way to achieve this with minimum changes to your code is in my original response:

    Original Response:

    I think you meant:

    $H{ $words[0] } += $words[1] ;

      tmharish:

      Yes, I was making an assumption about the input. For your input format, your code looks appropriate.

      ...roboticus

      When your only tool is a hammer, all problems look like your thumb.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (9)
As of 2014-12-25 16:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (160 votes), past polls