@ARGV = qw(file1 file2); my %found_in; while (<>) { $found_in{$_} .= $ARGV; } print "file1 and not file2:\n"; print grep { $found_in{$_} eq "file1" }, keys %found_in; print "file2 and not file1:\n"; print grep { $found_in{$_} eq "file2" }, keys %found_in;