I think you are using the wrong approach to solve the problem. Instead of just doing eval on the file, actually parse the data and get it into whatever storage location it belongs in. As a bonus, you could do data validation and filter out code that should not get executed.
Whenever I see the term "namespace" I think of a hash. A hash is a portable namespace, and it can be lexically scoped using my.
Cleaning the namespace between file reads will hurt performance because only one file can be read at a time. Besides that, it sounds ugly.