操作符§
请参阅上下文中的主要文档 中缀 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: «🐱»