Author: larry
Date: Fri Mar 17 15:41:25 2006
New Revision: 8336

Modified:
   doc/trunk/design/syn/S11.pod

Log:
Fixes from Damian
Clarification of default Perl package name
Clarification of when we need not default to Perl 5


Modified: doc/trunk/design/syn/S11.pod
==============================================================================
--- doc/trunk/design/syn/S11.pod        (original)
+++ doc/trunk/design/syn/S11.pod        Fri Mar 17 15:41:25 2006
@@ -12,9 +12,9 @@
 
   Maintainer: Larry Wall <[EMAIL PROTECTED]>
   Date: 27 Oct 2004
-  Last Modified: 23 Feb 2006
+  Last Modified: 17 Mar 2006
   Number: 11
-  Version: 9
+  Version: 10
 
 =head1 Overview
 
@@ -89,6 +89,8 @@
 the C<sub bar> above will bind as C<&Foo::EXPORT::DEFAULT::bar>,
 C<&Foo::EXPORT::ALL::bar>, and C<&Foo::EXPORT::others::bar>.
 
+Tagset names consisting entirely of capitals are reserved for Perl.
+
 Inner modules automatically add their export list to modules in all their
 outer scopes:
 
@@ -239,19 +241,31 @@
 
     use Perl-6;
 
-you're asking for any version of Perl 6.  Say:
+you're asking for any version of Perl 6.  You need to say:
 
     use Perl-6.0;
     use Perl-6.0.0;
     use Perl-6.2.7.1;
 
 if you want to lock in a particular set of semantics at some greater
-degree of specificity.  And some large company ever forks Perl, you can say
+degree of specificity.  And if some large company ever forks Perl, you can say
 
     use Perl-6-cpan:TPF
 
 to guarantee that you get the unembraced Perl.  C<:-)>
 
+Perl is the default module name, so
+
+    use v6-cpan:TPF;
+
+means the same thing.  As a variant of that, the current Perl 5
+incantation to switch to Perl 6 parsing is
+
+    use v6-pugs;
+
+(though in Perl 5 this actually ends up calling the v6.pm module with a
+'-pugs' argument for insane-but-useful reasons.)
+
 For wildcards any valid smartmatch selector works:
 
     use Dog-(1.2.1 | 1.3.4)-(/:i jrandom/);
@@ -273,7 +287,7 @@
 
     my Dog-1.3.4-cpan:JRANDOM $spot .= new("woof");
 
-The use statement actually allows a language on the front of a module name,
+The C<use> statement actually allows a language on the front of a module name,
 so that you can use modules from other languages.  The language is separated
 by a colon.  For instance:
 
@@ -314,3 +328,7 @@
 a bare literal in a void context I<ought> to have produced a warning.
 (Invoking perl with C<-e6> has the same effect.)
 
+It's not necessary to force Perl 6 if the interpreter or command
+specified already implies it, such as use of a "C<#!/usr/bin/perl6>"
+shebang line.  Nor is it necessary to force Perl 6 in any file that
+beings with the "class" or "module" keywords.

Reply via email to