in reply to Comparing two variables when one variable includes a regexp...

Also note that in the regex set expression  [\w+\d+\/] the \d component is redundant because \w includes \d (the digits
[0-9]). Furthermore, the expression  [\w+\d+\/] contains the character '+' twice, a redundancy that may lead the casual reader to think this character is a quantifier associated with the \w or \d subsets. (Also, the '/' in this set does not have to be escaped.)

So...

perl -wMstrict -e "my $NetPattern = 'mbist [\w/+]* \[ \d+ \]'; my $NetName = 'top_level/mbist_wrapper_pix2d[22]'; if ($NetName =~ qr/$NetPattern/x) { print 'match' } " match

Or perhaps better yet...

perl -wMstrict -e "my $NetPattern = qr{mbist [\w/+]* \[ \d+ \]}xms; my $NetName = 'top_level/mbist_wrapper_pix2d[22]'; if ($NetName =~ $NetPattern) { print 'match' } " match