I suffered for it, but after some unsatisfying experiments I accepted following philosophy, assuming both versions of the module exists in some concurrent version system:
If it is not absolutely necessary to use both versions in the same process, just put proper versions to special paths, dedicated for this purpose. Then you can have two or more paths for two or more versions and you can run one process for every version and compare their behavior, having remaining parts of the program identical.
If it is absolutely necessary, rename versions (MyModule0_71.pm) for testing purposes. Though it is ugly work, it consumes less time than fiddling Perl guts, and it does not make chance that fiddled solution will work differently from renamed solution.