如果当前执行的子程序或 eval
的上下文正在寻找列表值,则返回真。如果上下文正在寻找标量值,则返回假。如果上下文不希望返回值(空上下文),则返回未定义值。
return unless defined wantarray; # don't bother doing more
my @a = complex_calculation();
return wantarray ? @a : "@a";
在文件的最顶层、BEGIN
、UNITCHECK
、CHECK
、INIT
或 END
块中,或在 DESTROY
方法中,wantarray
的结果是未定义的。
这个函数应该被命名为 wantlist() 而不是 wantarray()。