#! perl -slw use strict; my $n = 2 ** @ARGV - 1; my %hash; for my $i ( 0 .. $#ARGV ) [ open my $in, '<', $ARGV[ $i ] or die "$ARGV[ $i ] : $!"; while( <$in> ) { chomp; ( vec( $hash{ $_ }, 1, $i ) |= 1 ) == $n and print; } }