http://qs1969.pair.com?node_id=502314


in reply to Re^3: "last expression" quiz
in thread "last expression" quiz

There is a bug in your code. You've missed out the ->() in the last two cases, so it's printing the sub rather than the result of calling the sub.

Replies are listed 'Best First'.
Re^5: "last expression" quiz
by Aristotle (Chancellor) on Oct 27, 2005 at 05:37 UTC

    Gack. Thanks for the catch. That was stupid. Fixed, node has been updated.

    The new behaviour is a tad more consistent, but still not consistent with the documentation. What gets returned is the last expression from the body of the do, while the last one evaluated is clearly the while/until condition. (Arguably, the real behaviour is more useful than the strictly doc-adherent one would be.)

    Makeshifts last the longest.