In 运算符§
有关中缀 ff,请参阅主要文档 在上下文中
sub infix:<ff>(Mu , Mu )
也称为触发器运算符,将两个参数与 $_(即 $_ ~~ $a 和 $_ ~~ $b)进行比较。在左边的智能匹配为 True 之前,求值为 False,此时它求值为 True,直到右边的智能匹配为 True。
实际上,左边的参数是“开始”条件,右边的参数是“停止”条件。此结构通常用于仅选取某一部分行。例如
my =my = gather for .lines# this will print four lines, starting with "=begin code" and ending with# "=end code"say .join("\n");
在匹配开始条件后,运算符将把相同的 $_ 匹配到停止条件,如果成功,则会相应地执行操作。在此示例中,仅打印第一个元素
for <AB C D B E F>
如果你只想针对开始条件进行测试,并且没有停止条件,则可以使用 *。
for <A B C D E>
对于类似 sed 的版本,它不会在开始条件成功后尝试 $_ 停止条件,请参阅 fff。
此运算符不能重载,因为它是由编译器专门处理的。