perl正则

perl正则求助

my $line = '123@gmail.com; 123125456; 456@gmail.com,9999';

if($line =~ m/(?<email>([\w.]+)\@[\w-]+\.[\w.]+)/)  
{
print $+{email}, "\n";
}


要得到$line里面所有的email,且里面email数量不定,所以$1 $2行不通。
但是用上面的代码只能得到第一个email地址.
------解决方案--------------------
恭喜恭喜perl正则
------解决方案--------------------
?<email>
+{email}

请问这两个代表什么意思?
------解决方案--------------------
引用:
引用:?<email>
+{email}

请问这两个代表什么意思?


(?<name>exp) 匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name'exp)


谢谢.
那+{email} 又是什么? 
------解决方案--------------------
perl正则