Usually, it is best to "let YUM (or whatever package-manager)" maintain whatever it maintains, and if you use your-own CPAN modules, install them somewhere else.
Perl offers several ways to influence the so-called "@INC" list: the "use lib" directive, the PERL5ENV environment-variable and so on. Each of these methods prepends a directory to the search-list, which is consulted from front to back.
So... you let YUM maintain "its" Perl configuration (which might be relied-upon by other parts of the installation software!) and to see only "its" modules when "it" runs. Meanwhile, for your stuff, you use CPAN to put them into a separate directory and you make sure that this directory is in the search-path when "your stuff" runs. In this way, there is no conflict.
YUM maintains the core system libraries; you maintain your own stuff; when your-stuff runs, you make sure that your-libraries get found first by your-stuff.
The same principles are used in, say, a shared-hosting environment for a web-site, where the ISP provides a stock foundation layer of modules and "your site" provides "for your-site only" whatever differences "your site" needs. A thousand or more sites can be maintained, on one server, without conflict. There's a huge amount of stuff out there on the web which discusses this scenario, and it all applies directly to your case.
Last edited by sundialsvcs; 04-29-2008 at 09:21 AM.