in reply to easy config file

You need to use do() or eval() in the loop.

I think it would be better to use some simple templates for this. Take a look at Text::Template. It's easier for end-users than what you have right now.