in reply to failure to require an installed module + eval fails to trap?

Note that require Foo::Bar; is the same as require 'Foo/Bar.pm'; which is not the same as require 'Foo::Bar';. So you need to transform your package name into a (relative) module file path if you want to use such in require $string;.

- tye