return; does not return "nothing", as the documentation clearly states:
return EXPR
return Returns from a subroutine, "eval", or "do FILE" with the value
given in EXPR. Evaluation of EXPR may be in list, scalar, or
void context, depending on how the return value will be used,
and the context may vary from one execution to the next (see
"wantarray"). If no EXPR is given, returns an empty list in
list context, the undefined value in scalar context, and (of
course) nothing at all in a void context.
So the equivalent to simply return; is return wantarray ? () : undef.
| We're not surrounded, we're in a target-rich environment! |
|---|
In reply to Re: Elegant way to return true or nothing from a subroutine?
by jasonk
in thread Elegant way to return true or nothing from a subroutine?
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |