Author: audreyt Date: Tue Aug 5 02:38:33 2008 New Revision: 14571 Modified: doc/trunk/design/syn/S02.pod
Log: * S02: A few more C<...> an C<<...>> blocks, Contributed by John M. Dlugosz++. Modified: doc/trunk/design/syn/S02.pod ============================================================================== --- doc/trunk/design/syn/S02.pod (original) +++ doc/trunk/design/syn/S02.pod Tue Aug 5 02:38:33 2008 @@ -12,9 +12,9 @@ Maintainer: Larry Wall <[EMAIL PROTECTED]> Date: 10 Aug 2004 - Last Modified: 25 Jul 2008 + Last Modified: 5 Aug 2008 Number: 2 - Version: 133 + Version: 134 This document summarizes Apocalypse 2, which covers small-scale lexical items and typological issues. (These Synopses also contain @@ -1415,7 +1415,7 @@ There is a need to distinguish list assignment from list binding. List assignment works much like it does in PerlĀ 5, copying the values. There's a new C<:=> binding operator that lets you bind -names to Array and Hash objects without copying, in the same way +names to C<Array> and C<Hash> objects without copying, in the same way as subroutine arguments are bound to formal parameters. See S06 for more about binding. @@ -1544,7 +1544,7 @@ =item * -In numeric context (i.e. when cast into C<Int> or C<Num>), a Hash object +In numeric context (i.e. when cast into C<Int> or C<Num>), a C<Hash> object becomes the number of pairs contained in the hash. In a boolean context, a Hash object is true if there are any pairs in the hash. In either case, any intrinsic iterator would be reset. (If hashes do carry an intrinsic @@ -1807,7 +1807,7 @@ it starts in the current dynamic scope and from there scans outward through all dynamic scopes until it finds a contextual variable of that name in that context's lexical scope. -(Use of C<$+FOO> is equivalent to CONTEXT::<$FOO> or $CONTEXT::FOO.) +(Use of C<$+FOO> is equivalent to C<< CONTEXT::<$FOO> >> or C<< $CONTEXT::FOO >>.) If after scanning all the lexical scopes of each dynamic scope, there is no variable of that name, it looks in the C<*> package. If there is no variable in the C<*> package and the variable is @@ -1921,7 +1921,7 @@ C<$?FILE> and C<$?LINE> are your current file and line number, for instance. C<?> is not a shortcut for a package name like C<*> is. Instead of C<$?OUTER::SUB> you probably want to write C<< OUTER::<$?SUB> >>. -Within code that is being run during the compile, such as BEGIN blocks, or +Within code that is being run during the compile, such as C<BEGIN> blocks, or macro bodies, or constant initializers, the compiler variables must be referred to as (for instance) C<< COMPILING::<$?LINE> >> if the bare C<$?LINE> would be taken to be the value during the compilation of the currently running