if ((my $x=grep {/ABC|GHI|MNO/}@FILES) == 3){ print qq|Found them all\n| }else{ print qq|found only $x\n| } #### my @need=sort qw|ABC GHI MNO|; my $flat=join "",@need; my $re="\\b" . join( "|",@need)."\\b"; if ($flat eq join( "", sort grep{m/$re/}@FILES)){ say "Found!" }