This is to extend my question earlier about modules. Most of the OOP concepts are very nicely explained in perlboot kindly pointed out by Japhy (thank you!), however I stumbled against a problem. I don't know if I am not looking at it correctly, or the idea I want to implement is entirely ill.
The project I am working on get's data from many sources and has to login here and there. I have a processor engine for each place but so far all the variables (usernames, passwords, urls, etc)are specified in the corresponding module. I will have to extend the entire thing pretty soon and there will be just way too many places to look for variables in case something needs to change so I decided to create a central Configuration.pm which will hold different hashes with "configuration sections" e.g.: package Configuration; %Configuration::auth = ( y_stores => { 'tb' => { name => .... user => .... pass => .... sekkey => .... }, }, mmv => { 'tbt => { user => ... pass => ... merchant_num => ... }, }, ); %Configuration::pt_accounts = ( cc_fees => { cash_account => ... gateway => ... 4 => ... 5 => ... 6 => ... 3 => ... }, ); ....... You get the idea. Now I am able to access them from Main by doing: use Configuration; my $whatever_reference = $Configuration::auth{mmv}{tbt}; however if in main I have another module: use SomeOther::Module; then from within this module the same variable returns undef. I suspect I can not do this since the scopes differ, but I am using fully qualified variable names. Another way would be to use Configuration in the very same module, however then Configuration.pm got to reside in the main dir AND a copy in ./SomeOther/... I am lost. Is what I am trying to do even right from a good programming point of view? Probably the total amount of modules accessing these Configuration variables will be around 10. I would highly appreciate any input on this. Thank you Peter -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>