Re: [ID 20010612.001] out of memory during regex compilation
Mike Guy [Tue, 12 Jun 2001 19:10:31 +0000 (20:10 +0100)]
Date: Tue, 12 Jun 2001 19:10:31 +0100
Message-Id: <E159scZ-0000r2-00@draco.cus.cam.ac.uk>

Subject: Re: [ID 20010612.001] out of memory during regex compilation
From: Mike Guy <mjtg@cam.ac.uk>
Date: Tue, 12 Jun 2001 19:21:01 +0100
Message-Id: <E159smj-0000wY-00@draco.cus.cam.ac.uk>

p4raw-id: //depot/perl@10545

pod/perlop.pod

index 1dd564e..9ae3918 100644 (file)
@@ -694,9 +694,8 @@ from the next line.  This allows you to write:
     s {foo}  # Replace foo
       {bar}  # with bar.
 
-For constructs that do interpolate, variables beginning with "C<$>"
-or "C<@>" are interpolated, as are the following escape sequences.  Within
-a transliteration, the first eleven of these sequences may be used.
+The following escape sequences are available in constructs that interpolate
+and in transliterations.
 
     \t         tab             (HT, TAB)
     \n         newline         (NL)
@@ -711,6 +710,9 @@ a transliteration, the first eleven of these sequences may be used.
     \c[                control char    (ESC)
     \N{name}   named char
 
+The following escape sequences are available in constructs that interpolate
+but not in transliterations.
+
     \l         lowercase next char
     \u         uppercase next char
     \L         lowercase till \E
@@ -736,14 +738,15 @@ and although they often accept just C<"\012">, they seldom tolerate just
 C<"\015">.  If you get in the habit of using C<"\n"> for networking,
 you may be burned some day.
 
-Subscripted variables such as C<$a[3]> or C<$href->{key}[0]> are also
-interpolated, as are array and hash slices.    But method calls
-such as C<$obj->meth> are not interpolated.
+For constructs that do interpolate, variables beginning with "C<$>"
+or "C<@>" are interpolated.  Subscripted variables such as C<$a[3]> or
+C<$href->{key}[0]> are also interpolated, as are array and hash slices.
+But method calls such as C<$obj->meth> are not.
 
 Interpolating an array or slice interpolates the elements in order,
 separated by the value of C<$">, so is equivalent to interpolating
-C<join $", @array>.    "Punctuation" arrays such C<@+> are not
-interpolated.
+C<join $", @array>.    "Punctuation" arrays such as C<@+> are only
+interpolated if the name is enclosed in braces C<@{+}>.
 
 You cannot include a literal C<$> or C<@> within a C<\Q> sequence. 
 An unescaped C<$> or C<@> interpolates the corresponding variable,