use strict; use Tie::File; tie my @f1, 'Tie::File', 'file1.txt' or die; tie my @f2, 'Tie::File', 'file2.txt' or die; tie my @f3, 'Tie::File', 'file3.txt' or die; @f1 = grep { my $word = $_; my $size = $#f2; @f2 = grep { if ($_ eq $word) { push @f3, $_; 0 } else { 1 } } @f2; $size == $#f2; } @f1;