This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Document BEGIN, END, etc. in perlsyn
authorDavid Golden <dagolden@cpan.org>
Fri, 30 Sep 2011 01:12:25 +0000 (21:12 -0400)
committerDavid Golden <dagolden@cpan.org>
Fri, 30 Sep 2011 01:12:25 +0000 (21:12 -0400)
This adds a brief note that blocks can be preceded by a
compilation phase keyword and points the reader to
perlmod for the gory details.

pod/perlsyn.pod

index 702ebed..93c640c 100644 (file)
@@ -239,6 +239,7 @@ The following compound statements may be used to control flow:
     LABEL foreach VAR (LIST) BLOCK
     LABEL foreach VAR (LIST) BLOCK continue BLOCK
     LABEL BLOCK continue BLOCK
     LABEL foreach VAR (LIST) BLOCK
     LABEL foreach VAR (LIST) BLOCK continue BLOCK
     LABEL BLOCK continue BLOCK
+    PHASE BLOCK
 
 Note that, unlike C and Pascal, these are defined in terms of BLOCKs,
 not statements.  This means that the curly brackets are I<required>--no
 
 Note that, unlike C and Pascal, these are defined in terms of BLOCKs,
 not statements.  This means that the curly brackets are I<required>--no
@@ -279,6 +280,10 @@ conditional is about to be evaluated again.  Thus it can be used to
 increment a loop variable, even when the loop has been continued via
 the C<next> statement.
 
 increment a loop variable, even when the loop has been continued via
 the C<next> statement.
 
+When a block is preceding by a compilation phase keyword such as C<BEGIN>,
+C<END>, C<INIT>, C<CHECK>, or C<UNITCHECK>, then the block will run only
+during the corresponding phase of execution.  See L<perlmod> for more details.
+
 Extension modules can also hook into the Perl parser to define new
 kinds of compound statement.  These are introduced by a keyword which
 the extension recognizes, and the syntax following the keyword is
 Extension modules can also hook into the Perl parser to define new
 kinds of compound statement.  These are introduced by a keyword which
 the extension recognizes, and the syntax following the keyword is