in reply to Re^2: To return and/or not?
in thread To return and/or not?

It seems to be the general sentiment that if a certain decision bites you, you consider it strange/weird/harmful/whatever, and forget all those idioms that are enabled by it.

Yet all language design decisions are tradeoffs, and even generally good decisions bite you sometimes. Go figure.

return is a normal listop, with normal listop precedence. The looser precedence of and/or/not is exactly the reason for having them. There wouldn't be any reason for them to exist if they had the same precedence as &&/||/!.

The only thing perl could do better here is to warn about unreachable code in sub c2; but I think that has been tried before for if 0 { ... } code, and has been discarded at not helpful.