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