unless ( $o->check(...) ) { action.. } else { unless ( $o->check(...) ) { action.... $o->blah() if ($o->state) { actions.. unless( $o->check(...) ) { and so on...deeper and deeper... } } } }