Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: Hash element exists/delete

by roboticus (Chancellor)
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
Replies are listed 'Best First'.
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 chanting in the Monastery: (9)
As of 2015-07-30 00:09 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 (269 votes), past polls