in reply to How to get a reference from an eval() string?
Instead, could you make the sub return an expression Data::Diver understands?