假设我有一个名为@emailList
的列表,我想将该列表的引用传递给名为sendEmail
的子例程。我知道我可以这样做:
my @emailList = split(/[$EMAIL_DELIMS]+/, $emailListStr);
sendEmail(\@emailList);
但是如果我想在不使用中间变量@emailList
的情况下直接创建对split输出的引用,那么正确的语法是什么?我已经尝试过了:
sendEmail(\@{split(/[$EMAIL_DELIMS]+/, $emailListStr)});
......以及许多微妙的变化,但perl
总是抱怨。建议?
答案 0 :(得分:9)
sendEmail([ split(/[$EMAIL_DELIMS]+/, $emailListStr) ]);
将使用split
返回的列表创建一个匿名数组,并将其传递给sendEmail
。
此外,您可能希望使用Email::Address->parse
。