use Regex::PreSuf; my $re = presuf(@names); if($name =~ /^($re)$/o) ...