my $infile1="infile1.txt"; my $infile2="infile2.txt"; open INFILE1, '<', $infile1 or die "could not open '$infile1' $!"; open INFILE2, '<', $infile2 or die "could not open '$infile2' $!"; open (FileA, ">DataFromFile1.txt") || die "Unable to open TextInFile1Only.txt for writing \n"; #open (FileB, ">DataFromFile2.txt") || die "Unable to open TextInFile1Only.txt for writing \n"; open (FileC, ">CommonDataFromTwoFiles.txt") || die "Unable to open TextInFile2Only.txt for writing \n"; my @dataInFile1=; my $val; my @ArrayA; my $last_element; while(my $line=) { if ($line=~ m/$dataInFile1[0]/i) { print FileC $dataInFile1[0]; push @dataInFile1, shift @dataInFile1; } }