Hi, Juerd wrote: > Ingo Blechschmidt skribis 2005-09-06 19:46 (+0200): >> If \(...) still constructs a list of references, are the following >> assumptions correct? > > IIRC, the RHS of \ is in scalar context, and the comma in scalar > context (the parens are just for precedence), creates an arrayref. > > Which is interesting (and imho, a bad idea), because: > >> \(@array); # same as > > \(@array) and [EMAIL PROTECTED] are the same thing
Agreed. >> \(@array,); # same as > > \(@array,) is [ @array ], NOT map { \$_ } @array I'm not sure of the []s, remember &postcirumfix:<[ ]> creates *new* containers: [EMAIL PROTECTED] = $bar; # @array[0] unchanged Compare this to: (@array,)[0] = $bar; # @array[0] changed to $bar So, I think, if we ditch Perl 5's special \(...), \(@array,); # should be the same as \do { (@array,) }; This has the consequence that (\(@array,))[0] = $bar; changes @array[0]. --Ingo -- Linux, the choice of a GNU | Mr. Cole's Axiom: The sum of the generation on a dual AMD | intelligence on the planet is a constant; Athlon! | the population is growing.