http://www.perlmonks.org?node_id=604526

Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

I have a file 'A' which contains n lines of single word strings like

hye bye bin . . n

Now I want to look for these words in some other file 'B' and delete those lines wherever they are found and write the new file as 'C'

Till now I am trying to use this..

#!/usr/local/bin/perl foreach $file (@ARGV) { # open a file and assign the filehandle F open(F, $file) or die("can't open myfile.txt: $!\n"); # read in the whole file into an array of lines @lines = (); while(<F>) { push(@lines, $_); } close(F); # close the filehandle foreach (@lines) { my $string = "@lines"; open(my $infile,"<", file1) or die $!; open (my $outfile,">>", file2) or die $!; while (<$infile>) { if ($_ !~/$string/) { print $outfile $_; } } close $infile; close $outfile; } }

But its giving me error and also not giving results.

Please help !!!

20070313 Janitored by Corion: Added formatting, code tags, as per Writeup Formatting Tips