Re: [vox-tech] perl question - variable holding a variable name
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [vox-tech] perl question - variable holding a variable name
On Mon, Apr 09, 2001 at 04:38:42PM -0700, Mark K. Kim wrote:
> Oops! My bad. I didn't realize the hash you were referring to was a
> global variable hash -- I thought you were telling Peter to create a hash
> to store the variables for his language. So how would you access such a
> hash in PERL?
I wasn't talking about the global variable hash - but then I don't
know Python, so I don't know what you meant by automatic hashing.
Perl /does/ store globals in a hash, but it doesn't matter, because
whether it does or doesn't, you still are mucking with the program's
symbol table when you're doing this sort of thing.
The hash is named %<package-name>:: , and the values are /typeglobs/.
So, you use ${$main::James} to access the global variable $James,
and you use @{$main::James} to access the global variable @James.
No big deal so far, except that you can also /set/ values in this
hash, which allows you to pull some pretty slick tricks with the
symbol table. I am not very familiar with these tricks, so I'll end
here. I wouldn't really recommend using them, anyway. Among other
things, though, it's a possible way of implementing constants. But
that's what "use constant" is for, anyhow.
Micah
|