在Perl中检索特定的返回值

时间:2011-02-22 04:01:21

标签: perl

我正在寻找一个允许我从子程序中获取第二个返回值的单行程。

而不是:

($a,$b)=function;
print $b

应该可以做这样的事情

print ??? function

2 个答案:

答案 0 :(得分:6)

这有效:

sub test { return (1,2) }
print ((test)[1]);  # Returns 2

这也有效:

print +(func())[1], "\n";

答案 1 :(得分:0)

假设function()返回一个列表,那么使用像上面提到的海报一样的切片就可以了。如果它返回一个数组引用,那么你需要适当地访问它,例如(@ {function()})[1]取消引用aref然后将其切片。