2011-01-27 4 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

heh、19秒で殴られた... – Oesor

+0

ありがとう、魅力のように動作します! –

+1

触れたにもかかわらず、コンテキスト(スカラーとリスト)と変数(スカラー、配列、ハッシュ)の違いを調べて理解する必要があります。 – Oesor

関連する問題