There are two issues in there: one is using cpan and not breaking stuff, for which I don't know the solution, which is probably what afresh suggests.
On the other hand, we have base perl looking under /usr/local which is not bad per se. But base tools need to be restricted a bit, most probably so that local (misguided ?) cpan installs do no break things again and again. as far as I know, the recommended mechanism for strange perl installs out of the ports tree scope is to use perlbrew these days... I know, not quite a solution.
