in reply to "eval"ing a hash without eval

how about using Safe, usually, it is not secure enought, but I believe in that case it will because populating a hash require very few opcodes to be allowed and no interaction with other parts of your program.