В Perl, как создать ссылку на вывод подпрограммы без использования промежуточной переменной? - PullRequest
1 голос
/ 28 января 2011

Предположим, у меня есть список с именем @emailList, и я хотел бы передать ссылку на этот список в подпрограмму с именем sendEmail. Я знаю, что могу сделать это так:

my @emailList = split(/[$EMAIL_DELIMS]+/, $emailListStr);
sendEmail(\@emailList);

Но если я хочу создать ссылку на выходные данные split без использования промежуточной переменной @emailList, каков правильный синтаксис? Я уже попробовал:

sendEmail(\@{split(/[$EMAIL_DELIMS]+/, $emailListStr)});

& hellip; а также многие тонкие варианты этого, но perl всегда жалуется. Предложения?

1 Ответ

9 голосов
/ 28 января 2011
sendEmail([ split(/[$EMAIL_DELIMS]+/, $emailListStr) ]);

создаст анонимный массив, заполненный списком, возвращаемым split, и передаст его sendEmail.

Также вы можете использовать Email::Address->parse.

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