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。
此运算符不能重载,因为它是由编译器专门处理的。