On Thu, 2002-03-21 at 12:52, Allison Randal wrote: > On Wed, Mar 20, 2002 at 09:59:35AM -0800, Larry Wall wrote: > > > > I should update y'all to my current thinking, which is that $_ is > > always identical to the current topic, even if the topic is aliased to > > some other variable. To get at an outer topic, you'd have to use the > > same mechanism we'll use for redeclared lexicals: > > > > my $foo = $OUTER::foo; > > > > for @x { # aliases $_ > > for @y -> $y { # aliases both $x and $_ > > print $OUTER::_; > > } > > } > > I rather like this compromise. It provides the desired behaviour of > "always default to the current topic" and so eliminates the confusion > between C<when> and other defaulting constructs. It also maintains the > "$_ is default" concept, which is quite important to people, as earlier > bits of this thread demonstrated.
Ok, so am I to take it that you could say: FOO: for @x { BAR: for @y { print $FOO::_; } } Or is OUTER a special-case label? Personally, I've always prefered this syntax: for @x {----\ for @y { | print;<-/ } } Which is visually appealing and raises coding style arguments to a whole new level. Now on to my reasoning for adding emoticons to Perl.... $;-)