#!/usr/bin/perl -w use strict; my %unique_values; #open file two first and read in the values of interest unless(open(F2, "file2name.txt")){ die "a horrible death!"; }else{ #line by line split off the first word i.e. user01, user02, etc %unique_values = map{ (split / /,$_)[0], undef }; close F2; unless(open(F1, "file1name.txt")){ die "a horrible death!"; }else{ while(){ chomp; if(exists($unique_values{$_}){ delete $unique_values{$_}); } } close F1; } } #open a file for output unless(open(OUT, ">outputfile.txt")){ die "again we fail!"; }else{ print $_."\n" for(sort keys %unique_values); close OUT; }