Damian Conway writes: > > given baz(@args) { return $_ when defined } > given baz(@args) { return $_ when $_ > 0 } > # etc. >
since we have 2 forms of "return" -- "return" and "leave" , may be we can make "return" also to be a topicalizer for the rest of experssion , and then : return baz(@args) when $_ $_ > 0 ; return baz(@args) when defined ; return baz(@args) when true ; but then inside given we will have to use "leave" : given $x { leave baz(@arg) when 5 # compare with $x return bar(@arg) when 5 # compare with rezult of bar(@arg) } or maybe we have to have anothre name for return which also topicalize. arcadi