> 2. Scalar assignment. > > my $a; # 1. > $a = X; > > my $a; # 3. > ($a) = X; > > These should all do the same thing, regardless of X.
Consider: $a = (1); and ($a) = (1); > 5. Assignment to arrays and lists. > > $a = (1, 2, 3); # Same as Perl 5's $a = [1,2,3]; $a = (1) should then do $a = [1], according to the above. This implies that: ($a) = (1) implies that $a is [1], something I don't particularly agree with. How would you resolve this contradiction you've created? (Or do you think the last example is perfectly fine?) What about: $a = 1,2,3 ($a) = (1,2,3) $a = (1,2,3) ($a) = 1,2,3 Do you still believe those should be identical? They have the same problems mentioned above, and likely other issues as well. Mike Lambert