This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perlop.pod: Update here-doc-in-quotes parsing rules
authorFather Chrysostomos <sprout@cpan.org>
Tue, 21 Aug 2012 21:09:51 +0000 (14:09 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Tue, 21 Aug 2012 21:11:04 +0000 (14:11 -0700)
pod/perlop.pod

index 0398f70..d0cfd85 100644 (file)
@@ -2474,21 +2474,25 @@ you'll need to remove leading whitespace from each line manually:
     FINIS
 
 If you use a here-doc within a delimited construct, such as in C<s///eg>,
-the quoted material must come on the lines following the final delimiter.
-So instead of
+the quoted material must still come on the line following the
+C<<< <<FOO >>> marker, which means it may be inside the delimited
+construct:
 
     s/this/<<E . 'that'
     the other
     E
      . 'more '/eg;
 
-you have to write
+It works this way as of Perl 5.18.  Historically, it was inconsistent, and
+you would have to write
 
     s/this/<<E . 'that'
      . 'more '/eg;
     the other
     E
 
+outside of string evals.
+
 Additionally, quoting rules for the end-of-string identifier are
 unrelated to Perl's quoting rules. C<q()>, C<qq()>, and the like are not
 supported in place of C<''> and C<"">, and the only interpolation is for