A simple approach would be to build two hashes from the strings, and then compare the hashes.
So you might do something like:You do the same for the second string, and then to compare you simply iterate through one of the hashes and increment a counter if each word is present in the other hash. Something like so:my %foo; my $string = 'Poet Blake had a milky white cat. He used to call it Pus +sy.'; for my $word (split /\s+/, $string) { $foo{$word}++; }
my $cnt; for my $word (keys %foo) { $cnt++ if $bar{$word}; }
To find the total number of words in either string, you simply count the number of keys in the hash, e.g.
my $word_count = scalar keys %foo;
And then it's just a simple calculation.
Obvious question is how does your calculation look if the two strings contain a different number of words? But I'm sure you can decide that.
In reply to Re: Is it possible to find the matching words and the percentage of matching words between two texts?
by McDarren
in thread Is it possible to find the matching words and the percentage of matching words between two texts?
by supriyoch_2008
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |