my $re = join ' ', map "(?= .*? \Q$_\E)", @ARGV; if ($entry =~ /^ $re/sx) { ... }