Shawn Corey am Montag, 16. Januar 2006 04.12: > John Doe wrote: > > [reordered to bottom style posting] > > > > Jeff Pang am Montag, 16. Januar 2006 01.59: > >>Thanks for Shawn.The main script can see the global var $q coming from > >>module,since the main script import this symbol via 'use My::HTML > >>qw($q)'.But the modules have no any importing behavior,why they can see > >> the global var $q coming from main script?I'm really confused for that. > > > > Ok, it would be interesting to look deeper into the mess of different > > variables all named with the same name $q, exported across the modules, > > overwritten by several imports... > > > > What do you want to achieve with your code? It looks really strange (hm, > > at least to me). > > > > joe > > All the variables $q in the packages have been shunted aside into the > deep, dark bit bucket of oblivion.
Shawn, Jeff, seems that it couldn't be more embarassing/awqward for me... (yes, I know who Stas Bekman is, Jeff) On the other side, I'm very happy having demonstrated the mess in my brain with the last post, since, at last, I begin to realize now something that I had the feeling not to fully understand during several years (sic!). I fear the result was an unnecessary amount of complexity in a lot of my code that could have been avoided. Have to check that in detail. > As I said before: > > $main::q = \*My::HTML::q; > $main::q = \*My::Doc::q; > > $My::HTML::q and $My::Doc::q no longer exist; they are aliases to > $main::q. In the modules, $q no longer exists; it is an alias for > $main::q. Whenever you say $q in the modules, you really mean $main::q. > The modules do not import anything; they export any changes to $main::q; > via the phrase '$q'. Part of my confusion was (I think) that I didn't realize that, with $main::q = \*My::HTML::q, I can not only "influence the main script by a module", but also in the other direction! (as the term 'alias' says...). Now, I see the code in the OP with different eyes! Thanks a *lot* to you two for giving me the chance to understand the use vars / Exporter issue better! Arggg... Have a nice time joe -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>