2011-01-27 36 views
1

假设我有一个名为@emailList的列表,我想将该列表的引用传递给名为sendEmail的子例程。我知道我能做到这样:在Perl中,如何在不使用中间变量的情况下创建子例程输出的引用?

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

但是如果我想上,无需使用中间变量@emailList创建到分裂的输出参考,什么是正确的语法?我已经试过了:

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

…以及许多细微​​的变化,但perl总是抱怨。建议?

回答

9
sendEmail([ split(/[$EMAIL_DELIMS]+/, $emailListStr) ]); 

将创建使用split返回列表填充一个匿名数组并把它传递给sendEmail。您也可以使用Email::Address->parse

+3

嘿,殴打19秒... – Oesor 2011-01-27 22:13:51

相关问题