--- 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]