Front page | perl.perl6.language |
Postings from March 2006
[svn:perl6-synopsis] r8336 - doc/trunk/design/syn
From:
larry
Date:
March 17, 2006 15:41
Subject:
[svn:perl6-synopsis] r8336 - doc/trunk/design/syn
Message ID:
20060317234126.899DBCBA2B@x12.develooper.com
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 <larry@wall.org>
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.
-
[svn:perl6-synopsis] r8336 - doc/trunk/design/syn
by larry