3
有在Mail::POP3Client一个例子片断在那里有一块语法的,我不明白为什么,或者它是如何工作的:Perl中,正则表达式指定匹配标
foreach ($pop->Head($i)) {
/^(From|Subject):\s+/i and print $_, "\n";
}
正则表达式有点特别。 $_
在该行后保持不变,但只打印匹配。 还有一个问题;我怎样才能将该正则表达式的匹配分配给我自己的标量,以便我可以使用它而不是仅仅打印它?
'$ _''变量隐含和设置或使用在Perl的很多地方。那里的'foreach'循环指定了弹出的行,因为没有指定的变量被赋值。不使用'=〜'的匹配类似地匹配'$ _',裸体'print'或'say'会输出'$ _'。该行可以写成'/ ^(From | Subject):\ s +/i并且说;'并且具有完全相同的效果。你可以像对待其他变量一样对待它。 – zostay 2012-08-01 17:31:31