in reply to Regexp and object's methods.

If the return from the method call is the only thing you want to test against, just match against that:
$_ =~ C->flag();
If you need to have specific matches within the match (I mean $1, $2 or whatever), you'd have to construct the regex in the method.
sub flag { return '(.)foo(\\d+)bar' }
$1 and $2 would be available.
You can't pad either side of the match by surrounding it with // and adding things in, because that just wouldn't work.

Jasper