return
EXPR
This function returns from a subroutine (or eval ) with the value specified. (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 is verboten, and results in a fatal error. Note also that an eval cannot do a return on behalf of the subroutine that called the eval .
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.