Author: larry Date: Wed Jun 7 18:51:18 2006 New Revision: 9529 Modified: doc/trunk/design/syn/S04.pod Log: Semantics of bare block clarified. Modified: doc/trunk/design/syn/S04.pod ============================================================================== --- doc/trunk/design/syn/S04.pod (original) +++ doc/trunk/design/syn/S04.pod Wed Jun 7 18:51:18 2006 @@ -12,9 +12,9 @@ Maintainer: Larry Wall <larry@wall.org> Date: 19 Aug 2004 - Last Modified: 3 June 2006 + Last Modified: 7 June 2006 Number: 4 - Version: 21 + Version: 22 This document summarizes Apocalypse 4, which covers the block and statement syntax of Perl. @@ -311,7 +311,9 @@ therefore loop control statements. Although a bare block is no longer a do-once loop, it still executes -immediately as in Perl 5. If you wish to return a closure from a +immediately as in Perl 5, as if it were immediately dereferenced with +a C<.()> postfix, so within such a block C<CALLER::> refers to the +scope surrounding the block. If you wish to return a closure from a function, you must use an explicit prefix such as C<return> or C<sub> or C<< -> >>. (Use of a placeholder parameter is deemed insufficiently explicit because it's not out front where it can be seen. You can, of