$scalar = function();
如果函数返回标量它没关系,但是如果返回数组我需要从数组中指定第一个元素。如何在Perl中用一行写它?
编辑: 是否可能没有这样的变量:
call_another_func(function());
答案 0 :(得分:5)
如果它返回元素列表,则将其放入parens中
my ($scalar) = function();
同样的事情,采取第一个列表元素,
my $scalar = (function())[0];
或取消引用,如果它返回数组引用,
my ($scalar) = @{ function() };
答案 1 :(得分:1)
Subs无法返回数组。他们只能返回零个或多个标量的列表。以下内容将function
返回的第一个标量作为参数传递给call_another_func
:
call_another_func( ( function() )[0] );