清除/重置所有正则表达式匹配变量的最佳方法是什么?
示例如何
$1
在正则表达式操作之间不重置并使用最近的匹配:$_="this is the man that made the new year rumble"; / (is) /; / (isnt) /; say $1; # outputs "is"
示例在使用循环时这可能会出现问题:
foreach (...){ /($some_value)/; &doSomething($1) if $1; }
更新:我认为我不需要这样做,但 Example-2 只是一个示例。这个问题是关于重置匹配变量,而不是实现它们的最佳方法。
无论如何,最初我的编码风格更符合明确和使用 if 块。现在回到这个(Example2)之后,阅读多行代码会更加简洁,我会发现这种语法更快地理解。