如何使用perl从字符串中提取电子邮件地址?

cha*_*ous 3 regex email perl

如何使用perl从字符串中提取电子邮件地址并将电子邮件地址放入变量中?我的字符串看起来像

Ben Tailor <bentaylor@gmail.com>
barbara@gmail.com, barbara2@gmail.com, Ben Tailor <bentaylor@gmail.com>
Run Code Online (Sandbox Code Playgroud)

我试过这个

$string ="Ben Tailor <bentaylor@gmail.com>";
$string =~ /\b([^\s]+@[^\s]+)\b/g ;
print $string;
Run Code Online (Sandbox Code Playgroud)

和输出xas:

Ben Tailor <bentaylor@gmail.com>
Run Code Online (Sandbox Code Playgroud)

有人有想法吗?

固定使用

Email::Valid->address($string);
Run Code Online (Sandbox Code Playgroud)

谢谢

dal*_*ton 8

从cpan查看Email :: Address或Email :: AddressParser

 my @addrs = Email::Address->parse(
    q[me@local, Tony <me@local>, "Tony" <me@local>]
  );
Run Code Online (Sandbox Code Playgroud)

这将返回它在输入字符串中找到的Email :: Address对象的列表.