从子程序、eval
、do FILE
、sort
块或正则表达式 eval 块(但不包括 grep
、map
或 do BLOCK
块)返回 EXPR 中给定的值。EXPR 的求值可能处于列表、标量或空上下文,具体取决于返回值的用途,并且上下文可能在每次执行时有所不同(参见 wantarray
)。如果没有给出 EXPR,则在列表上下文中返回空列表,在标量上下文中返回未定义值,并且(当然)在空上下文中什么也不返回。
(在没有显式 return
的情况下,子程序、eval
或 do FILE
会自动返回最后一个求值的表达式的值。)
与大多数命名运算符不同,它也不受“看起来像函数”规则的约束,因此 return ("foo")."bar"
将导致 "bar"
成为 return
的参数的一部分。