When the Perl interpreter looks for packages, it refers first to the PERL5LIB environment variable, then to a built-in list that is hard coded into the executable when it is built. This is not the list that is consulted by the cpan command when it decides where to install a package. If the two do not correspond, then you will see the behavior that you are now seeing.
Comment on Re: Confused about Perl module installation
When the Perl interpreter looks for packages, it refers first to the PERL5LIB environment variable, then to a built-in list that is hard coded into the executable when it is built.