in reply to Non-programmers and variable scope

For globals (our, use vars qw(), package variables) I'd use the analogy of school - you have two classrooms, and in each there's, say, somebody called "John Smith", but they are not the same person obviously, and their names got written to different class books (symbol tables).

For lexical vs. dynamic scoping, there's the wonderful my/local, space/time explanation.

our now... it's lexical also. Perhaps the family serves. Outside, you are called with surname (package) and first name (variable) name, in your family (lexical block - space) and in some places at work (which share you, hence "our"), calling you with your first name is ok.

--shmem

_($_=" "x(1<<5)."?\n".q·/)Oo.  G°\        /
                              /\_¯/(q    /
----------------------------  \__(m.====·.(_("always off the crowd"))."·
");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}