with p5, Ive often written
eval {} or carp "$@ blah"; it seems to work, and it reads nicer (to my eye) than eval {}; if ($@) {} but I surmise that it works cuz the return-value from the block is non-zero, for successful eval, and 0 or undef when block dies, not cuz of magical treatment of $@. I gather that ';' is unneeded in p6, and given that $! is the 'exception'al topicalizer, is this construct no longer reliant on the last value in the eval block ? put another way, does the 'topicalizer' reflect the exit condition of the closure ?