By doing a 'Super Search', (located at the top of any PerlMonks page here), with the words 'find common lines', you will find similiar problems and solutions.
Only, they find lines in common rather than unique. But its not difficult to figure this the difference, I believe.
If the THIDS file isn't too large for your memory, you could read it into a hash to check against the 'mail.fil' for differences.
#!/usr/local/perl-5.12.3/bin/perl
use strict;
use warnings;
open my $THIDS,"<", "THIDSerrs" or die "Could not open 'THIDSerrs' for
+ reading. $!";
my %data = map {$_ => 1} <$THIDS>;
close $THIDS or die "Unable to close 'THIDSerrs' - reading. $!";
open my $mail, "<" , "mail.fil" or die "Could not open 'mail.fil' for
+reading. $!";
open my $out, ">", "whatever.dat" or die "Unable to open 'whatever.dat
+' for write. $!";
while (<$mail>) {
print $out unless $data{$_};
}
close $mail or die "Unable to close 'mail.fil' - reading. $!";
close $out or die "Unable to close 'whatever.dat' from writing. $!";