in reply to CPAN ask me install a package repeatly

I think your problem may be in your shell config. If you look below you will see how I get two different versions of CPAN.

For my Perl 5.14
$ sudo perl -MCPAN -e shell Password: cpan shell -- CPAN exploration and modules installation (v1.9600) cpan>
However, if I invoke Perl with /usr/bin/perl
$ sudo /usr/bin/perl -MCPAN -e shell Password: cpan shell -- CPAN exploration and modules installation (v1.7602) cpan>
I get the CPAN that comes with my system Perl - that's probably what you want so you need to restore your shell config so it uses your system Perl. You could try this (outside the CPAN shell)
sudo /usr/bin/perl -MCPAN -e 'install File::Basename'
BTW I would highly recommend perlbrew for installing non-system Perl