Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: Re: Re: Of Symbol Tables and Globs

by theorbtwo (Prior)
on Nov 08, 2002 at 21:19 UTC ( [id://211545]=note: print w/replies, xml ) Need Help??


in reply to Re: Re: Of Symbol Tables and Globs
in thread Of Symbol Tables and Globs

I think saying "lexical (my), and dynamic (use vars, our (with caveats), undeclared (except under use strict), all subs, direct playing with globs (see below), filehandles/dirhandles, and formats)" would do the trick. You might just want to say "(all others)" instead of listing all of those.

Also, more importantly, you've got a terminology mismatch in the whole document: symbol tables aren't like hashes, they are hashes. %main:: (AKA %::, which you might want to mention explicitly) is a hash. *main::{somevar} isn't a hash, it's a hash element, which contains a glob, which is like a hash in many ways.


Warning: Unless otherwise stated, code is untested. Do not use without understanding. Code is posted in the hopes it is useful, but without warranty. All copyrights are relinquished into the public domain unless otherwise stated. I am not an angel. I am capable of error, and err on a fairly regular basis. If I made a mistake, please let me know (such as by replying to this node).

Replies are listed 'Best First'.
Re: Re: Re: Re: Of Symbol Tables and Globs
by broquaint (Abbot) on Nov 09, 2002 at 16:18 UTC
    Also, more importantly, you've got a terminology mismatch in the whole document: symbol tables aren't like hashes, they are hashes.
    They are accessed like hashes, but they are not hashes. It could perhaps be said that hashes are not symbol tables but symbol tables can be treated exactly like hashes except they can only store globs and have various sorts of magical behaviour associated. But that's a little confusing and long-winded.
    %main:: (AKA %::, which you might want to mention explicitly)
    I'll see if I can slip it in there somewhere :)

    Thanks for the input!

    _________
    broquaint

      I sit corrected, in my expensive wheelychair that shows up in TV shows, but that I got cheaply because it was missing a lumbar support pillow, and the co. was going out of busniess. (Yes, that sentance rambled on for no relevant reason, just like this one.) However, it seems in several places, IIRC, that you're calling both symbol tables and globs "like hashes, but not". (I still think, actualy, that symbol tables are magic hashes, and not another sort of entity, but I'll need to doublecheck in the source, which isn't handy.)


      Warning: Unless otherwise stated, code is untested. Do not use without understanding. Code is posted in the hopes it is useful, but without warranty. All copyrights are relinquished into the public domain unless otherwise stated. I am not an angel. I am capable of error, and err on a fairly regular basis. If I made a mistake, please let me know (such as by replying to this node).

        I still think, actualy, that symbol tables are magic hashes, and not another sort of entity
        After some further investigation I've come to the conclusion that under the hood symbol tables are indeed just fancy hashes. So I now sit corrected :) I believe their special properties are as follows
        • can't be lexically declared (due to the ::)
        • they can be declared with a package declaration
        • they hold the globs which hold the package level variables/subroutines/etc
        • must have a :: appended to the name to qualify as a symbol table
        • probably other bits and pieces which don't spring to my misty mind on a Monday morning
        I guess this means I'll have to change a lot of the wording, but at least it'll be accurate this time. Thanks for forcing me to put my money where my node is :)

        _________
        broquaint

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://211545]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (5)
As of 2024-03-19 09:07 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found