On a new Centos 7 machine, I found that "yum install cpan" caused some lines to be added to ~root/.bashrc which set the Perl environment variables to use a local installation path, rather than the system-wide path.
I removed those lines, removed ~root/perl5 and ~root/.cpan, logged out, and logged back in. Then I ran through the whole cpan setup again, and it worked fine, using the system-wide locations for Perl module installation.