This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Document the issue (is not a syntax error, kind of)
authorNicholas Clark <nick@ccl4.org>
Thu, 28 Sep 2000 17:12:42 +0000 (18:12 +0100)
committerJarkko Hietaniemi <jhi@iki.fi>
Mon, 2 Oct 2000 23:50:40 +0000 (23:50 +0000)
Subject: Re: [ID 20000901.011] the list (1,,3) ought to be a syntax error
Message-ID: <20000928171242.K7924@plum.flirble.org>

p4raw-id: //depot/perl@7116

pod/perldata.pod

index 65689a6..50b6858 100644 (file)
@@ -540,6 +540,15 @@ has no effect.  Thus ((),(),()) is equivalent to ().  Similarly,
 interpolating an array with no elements is the same as if no
 array had been interpolated at that point.
 
+This interpolation combines with the facts that the opening
+and closing parentheses are optional (except necessary for
+precedence) and lists may end with an optional comma to mean that
+multiple commas within lists are legal syntax. The list C<1,,3> is a
+concatenation of two lists, C<1,> and C<3>, the first of which ends
+with that optional comma.  C<1,,3> is C<(1,),(3)> is C<1,3> (And
+similarly for C<1,,,3> is C<(1,),(,),3> is C<1,3> and so on.)  Not that
+we'd advise you to use this obfuscation.
+
 A list value may also be subscripted like a normal array.  You must
 put the list in parentheses to avoid ambiguity.  For example: