file 1 ------ a 0 c 1 d 1 e 3 f 0 file 2 ------ a 0 b 0 c 0 d 0 e 0 f 0 #### file3 ----- a 0 b 0 c 1 d 1 e 3 f 0 #### open FIRST,"file1" or die "Can't open file1: $!\n"; open LAST,"file2" or die "Can't open file2: $!\n"; open NEW,">file3" or die "Can't open file3: $!\n"; chomp (my @last=); my %names; @names {} = (); foreach my $name (@last) { next if exists $names { $name }or print NEW "$name\n"; } close FIRST; close LAST; close NEW;