On Sat, Aug 14, 2004 at 09:56:34PM +0000, Smylers wrote: : > A bare closure also interpolates in double-quotish context. It may : > not be followed by any dereferencers, since you can always put them : > inside the closure. ... The old disambiguation syntax ... is dead. : > Use closure curlies instead: : > : > {$foo[$bar]} : > {$foo}[$bar] : : That last example seems to violate the previous stipulation about not : following a closure by dereferencers.
That's the point--it isn't a dereferencer. It's literal brackets. It's replacing the old Perl 1 distinction: ${foo[$bar]} ${foo}[$bar] simply by putting the $ inside instead of outside, and relying on general closure interpolation, getting rid of two specific exceptions for the price of one generality. Seems like a win to me. Larry