How to count 3 keywords  entered by the user..?

Posted on 2002-04-05
Last Modified: 2010-03-05
sub txtAnalyze {
     my $self = shift;
     my $text = $self->{TEXT};  ## Text that contains the keywords

my $key1_splited  = $self->{EXTRAKEY};

my @key1_splited;
my $tmp;
my $var = ref($key1_splited);

  my $size = scalar(@{$key1_splited});
  print "THE the type is $var and size is $size <br>";

foreach $tmp (@{$key1_splited}){
  print "Tmp splitted keys are: $tmp <br>"; # netscape, java, browser

I need to find the keywords in the text file and display the count.

How can i do that?
Question by:sdesar
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 7
  • 2
LVL 84

Expert Comment

ID: 6922193
foreach $tmp (@{$key1_splited}){
   my $count = () = $text =~ /\b\Q$tmp\E\b/gi;
   print "Tmp splitted keys are: $tmp, count = $count<br>";

Author Comment

ID: 6923247
Thanks a million for your response.

The count works but doesn't seem like its counting right.
I added your code.  It seems like it finds the word and count but does not count the entire text document...

Here's the output-

Extra keys are: 3   netscape
Extra keys are: 1   sizes
Extra keys are: 2   skipper

The html document that I am working with is -

Author Comment

ID: 6925764
Awaiting suggestions.. and comments from ozo and other perl gurus ....

Thanks !
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Author Comment

ID: 6931817
Seems like its only counting the first paragraph..
How can I force it to count these words in the entire document.

LVL 84

Expert Comment

ID: 6932061
How are you reading the entire document?

Author Comment

ID: 6934778
The entire document it read from this ..
my $text = $self->{TEXT};  ## Text that contains the keywords

It dump ascii text - based on this-
 my @text = split /\r?\n/, `lynx -dump -width=4000 $url`;

To view the site visit -
html page to enter is 

Let me know if you need more details.

Thanks for all your help.

Author Comment

ID: 6938144
Hello Ozo,
I would like to know if you have had some time to review this question.

Author Comment

ID: 6943269
Thanks ozo for all your help.
Your suggestion as descript works wonderful.
But the reason it coesn't count some words is because of a word like "hey there mr.,SKIPPER; hello world"

There's a " ,  " Before the word and also " ; " after and as a result the KEYWORD gets ignored from the count.
Any suggestions on how to modify the script so it counts SKIPPER but ignores the comma and semicolon.

Here's the script you suggested-

foreach $tmp (@{$key1_splited}){
 print "Tmp splitted keys are: $tmp <br>"; # netscape, java, browser


Author Comment

ID: 6966455
I am deleting this question because ozo helped me with this in another question that i had.


Accepted Solution

Mindphaser earned 0 total points
ID: 7047444
Points refunded and moved to PAQ

** Mindphaser - Community Support Moderator **

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I have been pestered over the years to produce and distribute regular data extracts, and often the request have explicitly requested the data be emailed as an Excel attachement; specifically Excel, as it appears: CSV files confuse (no Red or Green h…
Checking the Alert Log in AWS RDS Oracle can be a pain through their user interface.  I made a script to download the Alert Log, look for errors, and email me the trace files.  In this article I'll describe what I did and share my script.
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
Six Sigma Control Plans

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question