My preference is to install a separate perl for these reasons.
- The system is never broken by an upgrade to a module. Most Linux distributions come with Perl scripts for system tasks, you don't want to maintain those.
- You can upgrade the version of Perl without breaking the system, you don't have to track down all the modules used by the distribution scripts
- You can install multiple versions in parallel.
- The Perl build can be customized for your usage. Don't use threads? Don't build it.
Whatever you choose to do, you need a process to track what CPAN modules are deployed so that you can reproduce your environment whenever you upgrade Perl or deploy to a new machine.
You also need a process for deployment into test and production. You can't deploy an upgraded module or version of Perl whilst it is being used by the system. Personally I prefer that the sysadmins be responsible for deployment to production as we have those procedures (They involve outage windows at god awful times;)