我正在寻找一个允许我从子程序中获取第二个返回值的单行程。
而不是:
($a,$b)=function;
print $b
应该可以做这样的事情
print ??? function
答案 0 :(得分:6)
这有效:
sub test { return (1,2) }
print ((test)[1]); # Returns 2
这也有效:
print +(func())[1], "\n";
答案 1 :(得分:0)
假设function()返回一个列表,那么使用像上面提到的海报一样的切片就可以了。如果它返回一个数组引用,那么你需要适当地访问它,例如(@ {function()})[1]取消引用aref然后将其切片。