This has already been touched on in a couple of other threads, more as a
matter of figuring out which modules should be removed from core and made
separate packages. A different approach is to use the site mechanism and
library path or some extension of it to allow replacement modules to
coexist with those in core.
Using cpanflute2 one can use "--installdirs=site" to create a package that
installs to the site directories instead of the vendor directories. This is
almost sufficient to do the job, but there's no "site" directory for man
pages, so one will get install-time conflicts for those.
<https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=142837>
My own involvement is in installing MIMEDefang (http://mimedefang.org/),
which requires a raft of Perl modules, some of which are updates to those
in core. Most were easy enough to repackage with cpanflute2, but a couple
required a bit of intervention to deal with unusual tarball names and
conflicts with Perl core packaging.