by your argument, @x = do { for (1) { 1 } }; should be a syntax error, too, and it isn’t.
Huh? do {} is an expression that evaluates a block. (And like a function call, it too returns the value of the last expression evaluated.) Blocks may contain statements. How is that inconsistent with sauoq’s point?
Makeshifts last the longest.
In reply to Re^8: Unhappy returns
by Aristotle
in thread Unhappy returns
by tlm
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |