Получить конкретное возвращаемое значение в Perl - PullRequest
0 голосов
/ 22 февраля 2011

Я ищу однострочник, который позволил бы мне получить второе возвращаемое значение из подпрограммы.

Вместо этого:

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

Должно быть возможно сделать что-то подобное

print ??? function

Ответы [ 2 ]

6 голосов
/ 22 февраля 2011

Это работает:

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

Это также работает:

print +(func())[1], "\n";
0 голосов
/ 22 февраля 2011

при условии, что функция () возвращает список, а затем использование фрагмента, подобного предложенному выше, работает нормально.Если он возвращает ссылку на массив, то вам нужно получить к нему соответствующий доступ, например (@ {function ()}) [1], чтобы разыменовать aref, а затем нарезать его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...