my @file1 = ; my @file2 = ; # Here is where you would normalize the data. Things like uc, lc, ucfirst, s/\s//g, and the like. my (%file1, %file2); $file1{$_} = 1 foreach @file1; $file2{$_} = 1 foreach @file2; foreach my $value (sort keys %file1) { if ($file2{$value}) { print FILE3 "$value\n"; } }