in reply to Using do to read config

As documented in perlfunc for do: code evaluated with "do FILENAME" cannot see lexicals in the enclosing scope; "eval STRING" does.

This is widely considered to be a feature.

If you make your variables package globals, you will have better luck.

You might also look at Data::Dumper or Data::Denter to perform this more effectively.

Edit: chipmunk 2002-02-10