in reply to Re: Comparing strings works in Windows but not Linux
in thread Comparing strings works in Windows but not Linux

The code is included below:

foreach my $word (@words) { chomp($word); foreach my $posWord (@positiveWords) { chomp($posWord); if ( lc($word) eq $posWord) { $numPosWords++; last; } } foreach my $negWord (@negativeWords) { chomp($negWord); if ( lc($word) eq $negWord) { $numNegWords++; last; } } }

The input files are lists of words, one word on each line. For example, the list of positive words would be:

good

excellent

outstanding

The text file is a movie review file, written in paragraph form, and I have to find positive and negative words by comparing each word in the text file to the positive/negative lists.

Replies are listed 'Best First'.
Re^3: Comparing strings works in Windows but not Linux
by Corion (Patriarch) on Nov 07, 2010 at 17:41 UTC

    chomp will not be enough to remove whitespace at the end of the line if your text file was created on a Windows machine (or with Windows line endings) and is then used on a Unix machine (or with Unix line endings). Use a regular expression to strip all whitespace from the end of the line(s):

    $negWord =~ s/\s+$//;
      Thank you, that worked for me, I appreciate it,