操作符§
请参阅上下文中的主要文档 中缀 orelse 以了解中缀 orelse
orelse 操作符类似于 infix //,但优先级较低,并且 $_ 别名。
返回第一个已定义的参数,否则返回最后一个参数。最后一个参数按原样返回,而根本不会检查其是否已定义。短路。左侧的结果绑定到右侧的 $_,或者如果右侧是 Callable,则作为参数传递,其 count 必须为 0 或 1。
此操作符对于处理由例程返回的 Failure 非常有用,因为预期值通常是 defined,而 Failure 永远不会
sub meowssub meows-processor1 # return handled Failuresub meows-processor2 # return re-armed Failuresub meows-processor3say ", " # OUTPUT: «Failure, True»given meows-processor1;say ", " # OUTPUT: «Failure, False»given meows-processor2;meows-processor3; # OUTPUT: «something's wrong»meows-processor3; # OUTPUT: «🐱»