> The problem I'm having is that I need these jobs to evaluate > in a clean environment, uncluttered by the previous jobs. You could use an anonymous module to de_inspect a string: a = "[1, 2, 3, 4]".de_inspect gegroet, Erik V. - http://www.erikveen.dds.nl/ ---------------------------------------------------------------- class String def de_inspect Thread.new do $SAFE = 4 eval(self, Module.new.module_eval{binding}) end.value end end class String def de_inspect_unsafe eval(self, Module.new.module_eval{binding}) end end ----------------------------------------------------------------