#!/usr/bin/perl # File definitions $file1 = "first_file.txt"; # File with emails that might be duplicated on 2nd file $file2 = "second_file.txt"; # These emails have already been used. $file3 = "finalemails.txt"; # Final product - emails that havn't been used yet. # Load arrays with file contents open(FILE, "<$file1") || die "Can't open $file1\n"; @updatelist = ; close(FILE); open(FILE, "<$file2") || die "Can't open $file2\n"; @storelist = ; close(FILE); # Set %elements hash to 1 for each address in store list. foreach (@storelist) { $elements{$_} = 1; }; # Loop to create the final array of emails foreach $update(@updatelist) { if (!find_in_store($update)) { push @finallist, $update; } } # Write final array to file open(FILE, ">$file3") || die "Can't open $file3\n"; print FILE @finallist; close(FILE); # Routine to check for existance of an address. sub find_in_store { $element = $_[0]; if (exists $elements{$element}) { return(1); } else { return (0); } }