我在Perl中有这个代码:
sub f { return [1,2,3] } print f;
函数f返回对数组的引用,如何在没有附加变量的情况下将返回值转换为数组,就像这里一样?
sub f { return [1,3] } $a = f; print @$a;
解决方法
你只是想这样做吗?
print @{ f() };
您可以取消引用任何返回引用的内容.它不一定是变量.它甚至可以是很多代码:
print @{ @a = grep { $_ % 2 } 0 .. 10; \@a };
Perl v5.20 adds an experimental post dereference:
print f()->@*