use strict; use warnings; my @files = qw{ABC DEF GHI JKL MNO PQR STU}; my @need = qw{MNO ABC GHI}; my $need_re = join q{\s.*?} => map { q{\b} . qq{\Q$_\E} . q{\b} } sort @need; if (join(q{ } => map { qq{\Q$_\E} } sort @files) =~ /$need_re/) { print qq{OK\n}; } else { print qq{NOT OK\n}; }