use Regexp::Assemble; my $re = Regexp::Assemble->new->add(@typedefs)->re ... if ($line =~ $re) { # do something }