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
cpan shell -- CPAN exploration and modules installation (v1.9600)
However, if I invoke Perl with /usr/bin/perl
$ sudo /usr/bin/perl -MCPAN -e shell
cpan shell -- CPAN exploration and modules installation (v1.7602)
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