Why not try something like this:
$var =~ /^(?:regex(catch_this))?$/
Anchor it at the start and end of the line (or however you want to anchor the regexp so as to determine where your "absent" or "present" boundaries are), and make the inner grouping optional. If it matches, $1 will either contain "catch this" or be undefined.
This method is more useful when you want to try to match something (and the absense of something) in the middle of a line. You don't have to anchor it at the start and end of the line.