in reply to Need help comparing against a set of regexps

You don't want the "o" suffix on your regex. In if ($a =~ /$b/o), the "o" is making a promise that you won't change the value of $b, so perl doesn't recompile the regex for each $b you create. You probably do want the "i" suffix to make the matching case-insensitive -- otherwise 'Hello' will not match 'hello'! Consider this a starting point:
'Hello(world)' =~ m/hello\(\w+\)/i  # is true

Replace the right side with the variable containing the current regex you want to match and you will be on your way.

BTW, it's generally a good idea to avoid using the variable names $a and $b because they have a special significance to perl (see perldoc -f sort).