summaryrefslogtreecommitdiff
path: root/pod/perlsyn.pod
diff options
context:
space:
mode:
authorElizabeth Mattijsen <liz@dijkmat.nl>2002-06-18 15:37:30 +0200
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2002-06-18 18:25:53 +0000
commit7bd1983cd402d3e9e5a5cab9e3e1ad2a4342c647 (patch)
treea84b7432eab757678a02d3809dcba4892a2a6fd5 /pod/perlsyn.pod
parentf9aa124cf02583d106b9d27c70d6cc67cbfd6272 (diff)
downloadperl-7bd1983cd402d3e9e5a5cab9e3e1ad2a4342c647.tar.gz
[DOC PATCH] perlsyn
Date: Tue, 18 Jun 2002 13:37:30 +0200 Message-ID: <4.2.0.58.20020618133610.01956d30@mickey.dijkmat.nl> Subject: Re: [DOC PATCH] perlsyn (2) From: Elizabeth Mattijsen <liz@dijkmat.nl> Date: Tue, 18 Jun 2002 15:08:17 +0200 Message-ID: <4.2.0.58.20020618150341.01798100@mickey.dijkmat.nl> (Plus tweak by Ronald J Kimball) p4raw-id: //depot/perl@17283
Diffstat (limited to 'pod/perlsyn.pod')
-rw-r--r--pod/perlsyn.pod23
1 files changed, 18 insertions, 5 deletions
diff --git a/pod/perlsyn.pod b/pod/perlsyn.pod
index 8f1af95510..efb8d8a41a 100644
--- a/pod/perlsyn.pod
+++ b/pod/perlsyn.pod
@@ -34,8 +34,18 @@ C<"">; and when used as a reference that isn't being assigned
to, it is treated as an error. If you enable warnings, you'll
be notified of an uninitialized value whenever you treat C<undef>
as a string or a number. Well, usually. Boolean ("don't-care")
-contexts and operators such as C<++>, C<-->, C<+=>, C<-=>, and
-C<.=> are always exempt from such warnings.
+contexts, such as:
+
+ my $a;
+ if ($a) {}
+
+are exempt from warnings. Operators such as C<++>, C<-->, C<+=>,
+C<-=>, and C<.=>, that operate on undefined left values such as:
+
+ my $a;
+ $a++;
+
+are also always exempt from such warnings.
A declaration can be put anywhere a statement can, but has no effect on
the execution of the primary sequence of statements--declarations all
@@ -254,11 +264,14 @@ The loop control statements don't work in an C<if> or C<unless>, since
they aren't loops. You can double the braces to make them such, though.
if (/pattern/) {{
- next if /fred/;
- next if /barney/;
- # so something here
+ last if /fred/;
+ next if /barney/; # same effect as "last", but doesn't document as well
+ # do something here
}}
+This is caused by the fact that a block by itself acts as a loop that
+executes once, see L<"Basic BLOCKs and Switch Statements">.
+
The form C<while/if BLOCK BLOCK>, available in Perl 4, is no longer
available. Replace any occurrence of C<if BLOCK> by C<if (do BLOCK)>.