--- david <[EMAIL PROTECTED]> wrote:
> Paul wrote:
> >   @a = 'A'..'Z';
> >   { my @a = (0..9);
> >     { local $a[3] = 'foo';
> >       print join '|', @a, "\n";
> >     }
> >     print join '|', @a, "\n";
> >   }
> >   print join '|', @a, "\n";
> > 
> > prints
> > ======
> > 0|1|2|foo|4|5|6|7|8|9|
> > 0|1|2|3|4|5|6|7|8|9|
> > A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z|
> > 
> > This messes up my understanding of symbol tables and scratchpads a
> > bit....
> 
> how does this mess up your understanding of st and sp?

I thought scrathpads worked differently.
I read several things in the docs that explicitly said they did, and it
has always confused me. Have they integrated? Or did I just DREAM it???

Lexicals aren't in the symbol table.

  my $foo;

*can't* be accessed as $pack::foo, because it isn't IN a package. 

Locals, on the otherhand, *have* to be package variables that can be
tracked by $pack::foo syntax. So how can 

  my @bar;

allow 

  local $bar[2];

to localize an element of @bar which isn't traceable through a package
name? It obviously works, but I don't see *how*.

~sigh~

__________________________________________________
Do you Yahoo!?
Yahoo! Shopping - Send Flowers for Valentine's Day
http://shopping.yahoo.com

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to