in reply to looking for a good idiom: return this if this is true

My guesses are:

sub thisoutine { PRE_CODE(); thisroutine() and do { CONTINUE(); }; }
or
sub thisroutine { PRE_CODE(); unless (thatroutine()) { CONTINUE(); } }
However, with the latter one, you should be aware of a certain optimization bug described in Re^3: A cleaner way of scoping variables (Update: fixed link) which may cause that the return value of thatroutine is not returned it thatroutine() is a compile-time constant. Also, do not replace unless ( with if (! or if (not, as those would cause the subroutine to return the result of !thatroutine() if thatroutine returns true.