If you're going to use "do" you should pay more attention to the error variables it sets. Test $! and $@ (in that order) and provide an appropriate message that includes them so the user understands what they did wrong -- especially in the case of $@
If you're going to evaluate an arbitrary file, you should at least do some magic with Safe so that you don't have to worry about malicious people putting arbitrary code into an config file that was (mistakenly) left world writable.
Even if you don't use Safe, at the *least* you should but a nice big warning in the POD about the possibility of malicious code in config files