Here is a super-fast script i just wrote using this information. It's for finding email addresses (elements) in one file that aren't in another.
#!/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 = <FILE>;
close(FILE);
open(FILE, "<$file2") || die "Can't open $file2\n";
@storelist = <FILE>;
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);
}
}