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.