#!/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() { 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; } }