in reply to Re^22: printing unitialized value of the 'do BLOCK' (EXPRESSION vs TERM vs STATEMENT)
in thread printing unitialized value of the 'do BLOCK'

Thanks.

I consider the now fixed unless (1) case a bug derived from improper constant folding optimization.

Regarding "undefined behavior" I'd rather say "poorly documented behavior".

Returning the result of the last statement is very normal in Lisp ( which has no return or any other jump directive in core).

Larry was repeatedly very supportive for Lisp constructs, at one "State of the Onion" he even criticized Python for neglecting them.

Given that people are actively using this behavior in productive code for over 20 years already, we should rather try to document and test it properly.

Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery FootballPerl is like chess, only without the dice