in reply to Re^2: Multiple package versions (use only modules cpanfile pinto carton local::lib install_base))
in thread Multiple package versions

However, if I load other version of the same module they don't seem to get loaded (I suspect there's namespace collision).

Yeah, namespaces are global

If you're improving the API, why not improve the names?

If you module was OOpy it could be much simpler, simply export a sub that returns the name of the subclass ... or just make sure the caller inherits from it

You could simply disallow fully qualified names (MyLib::Foo()) and simply export the appropriate sub Foo

And there is always source filters

  • Comment on Re^3: Multiple package versions (use only modules cpanfile pinto carton local::lib install_base))