#!/usr/bin/perl -l use strict; use warnings; my @file1=qw/foo bar baz/; my @file2=qw/fred bar barney/; my %saw; $saw{$_}++ for @file1, @file2; print <<"EOT" \@file1 only: (@{[ grep $saw{$_}==1, @file1 ]}) \@file2 only: (@{[ grep $saw{$_}==1, @file2 ]}) common: (@{[ grep $saw{$_}==2, @file2 ]}) EOT __END__