sub my_find_or_create { # ... my $existing_result = $self->find_by_something(@args); return $existing_result if (defined $existing_result); # ... return $new_result; } #### return $x if (defined (my $x=foo())); # or defined (my $x = foo()) && return $x; #### if (defined (my $x=foo())) { return $x }