in reply to Unitialized value warnings with require

Maybe you need to 'use vars' to declare your variables in the main script instead of using my (are you using strict?). 'my' variables in the main script are in a different scope than those used in the required config file, so they are not really getting initialized.

Another alternative is to use a module like AppConfig to keep your config information in non-perl-variable form (that would require changing your config file, of course). Either solution is good in that it documents in your main script what is global, but global variables can be badly abused, so I might go with the second method.