Perl返回标量值或第一个元素,如果它在一行中的数组

ise*_*cik 1 perl

$scalar = function();

如果函数返回标量它没关系,但是如果返回数组我需要从数组中取代第一个元素.如何在Perl中用一行写它?

编辑:没有像这样的变量是否可能:

call_another_func(function());
Run Code Online (Sandbox Code Playgroud)

Сух*_*й27 5

如果返回元素列表,请将其放入parens中,

my ($scalar) = function();
Run Code Online (Sandbox Code Playgroud)

同样的事情,采取第一个列表元素,

my $scalar = (function())[0];
Run Code Online (Sandbox Code Playgroud)

或者如果它返回数组引用则取消引用,

my ($scalar) = @{ function() };
Run Code Online (Sandbox Code Playgroud)