I get the message that I already have the latest version.
Do you have multiple versions of Perl installed in your system? Then you would better make sure that CPAN::Shell looks at the right places. This will definetely be an issue in your (commented) code: #my $CPAN_Install = `cpan -I $_`; . Which cpan are you running through the OS default shell? A which cpan will tell in UNIXes. But anyway, that's commented out. So, it remains to debug CPAN::Shell and find out what the INC is. Perhaps adding CPAN::Shell->o('debug', 'all'); somewhere perhaps before the install loop will let you know what's going on. I tried your script in my system and it tried to install said modules but failed because of lack of admin privileges.
bw, bliako