Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Re: hash to differentiate type and tokens

by Anonymous Monk
on Jul 13, 2011 at 10:32 UTC ( #914092=note: print w/replies, xml ) Need Help??

in reply to hash to differentiate type and tokens

What does that mean? A hash does not have types or tokens, so what are you talking about?

Shot in the dark, have you read

TutorialsData Types and VariablesData Type: Hash

  • Comment on Re: hash to differentiate type and tokens

Replies are listed 'Best First'.
Re^2: hash to differentiate type and tokens
by sarvan (Sexton) on Jul 13, 2011 at 10:42 UTC

    By types and tokens i meant, if i have a word "the" multiple times in a array i need to process it as many times as it is in the array.

    But in hash it avoids duplicates by having the token of each word. if a word "the" appears six times in a hash. then type of "the" is only one. but the token of "the" is 6..

    Is it correct what i m speaking

      A hash associates one key with one value, so this is what you have in %hash

      my $str='finding related pages on the world wide web the web'; my %hash=split(/\s+/,$str); use DDS; Dump( \%hash ); __END__ $HASH1 = { finding => 'related', pages => 'on', the => 'web', wide => 'web' };
      What do you want %hash to contain?
        #! /usr/bin/perl use strict; use warnings; my $str1='It is a guide to action which ensures that the military alw +ays obey the commands of the party.'; chomp($str1); my $str2='It is a guide to action that ensures that the military will +forever heed Party commands is a guide.'; chomp($str2); my @arr1=split(/\s+/, $str1); my $n_occur_in_str1=0; my $n_occur_in_str2=0; print "-"x60,"\n"; print "nth Match\tNo of occurence\t\tMatched Pattern\n"; print "-"x60,"\n"; for(my $i=0; $i<$#arr1;$i++) { my $t1="$arr1[$i] $arr1[$i+1] $arr1[$i+2]"; my @pattern_word_count=split(/\s/, $t1); my $space_count=@pattern_word_count; if($space_count == 3) { if($str2=~/$t1/) { my $occurence=`echo $str2 | grep -o '$t1' |wc - +l`; chomp($occurence); print $i+1,"\t\t",$occurence,"\t\t\t$t1\n"; $n_occur_in_str2+=$occurence; $n_occur_in_str1++; } } } print "\n\nTotal no of occurence in str1 : $n_occur_in_str1\n"; print "\n\nTotal no of occurence in str2 : $n_occur_in_str2\n";

        in the above code i used an array to store the splitted words from sentence and then use each words for further processing

        Here, the problem is when i have repeated words, unwantedly i do computation for same words. so to avoid tat i have been advised to store the words in a hash rather than an array.

        But, i m not clear how i can do that

Log In?

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

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (6)
As of 2023-12-08 19:02 GMT
Find Nodes?
    Voting Booth?
    What's your preferred 'use VERSION' for new CPAN modules in 2023?

    Results (37 votes). Check out past polls.