We all know that using eval() is a security risk, and that all code using eval() can be rewritten using a more secure method.
In the past I've used eval() to read in the contents of a hash dumped to file with Data::Dumper. I've also accomplished the same with the do() function.
Which is the better method for both speed and security. Or, is there a third option?