return expr
Returns from a subroutine (or eval
) with the value of expr.
(In the absence of an explicit return
, the value of the last
expression evaluated is returned.) Use
of return
outside of a subroutine or eval
will
result in a fatal error.
The supplied expression will be evaluated in the context of the subroutine
invocation. That is, if the subroutine was called in a scalar context,
expr is also evaluated in scalar context. If the
subroutine was invoked in a list context, then expr
is also evaluated in list context, and can return a list value. A return with
no argument returns the undefined value in scalar context, and a null list in
list context. The context of the subroutine call can be determined from within
the subroutine by using the (misnamed) wantarray
function.