Now I have edited a few things and it now prints everything in the list. It print the output with the right response. but when saved it prints all 4 sentences. What am I doing wrong?
use strict;
use warnings;
my $namesFile = q{names.txt};
open my $namesFH, q{<}, $namesFile
or die qq{open: $namesFile: $!\n};
my @names = <$namesFH>;
close $namesFH
or die qq{close: $namesFile: $!\n};
chomp @names; # Remove line terminators
my $namesPatt = join q{|}, @names;
my $dataFile = q{data2.txt};
open my $dataFH, q{<}, $dataFile
or die qq{open: $dataFile: $!\n};
while ( <$dataFH> )
{
print qq{Found name $_\n} if /($namesPatt)/;
open FILE, ">>/home/btobin/data3.txt" or die "Unable to Open: $!";
print FILE "$_\n"; <--- somehow this is wrong
close FILE;
}
close $dataFH
or die qq{close: $dataFile: $!\n};
Sentences used:
This is a data file created to learn how to use Perl .
This is how Bob found his way.
I wonder what Jonny is going to do.
This is a test.