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