1) I did: $ sudo cpan
which asked me a lot of questions. I accepted the defaults. 2) Then as described here: http://sial.org/howto/perl/life-with-cpan/macosx/ I did: cpan> o conf makepl_arg "INSTALLBIN=/usr/local/bin INSTALLSCRIPT=/usr/local/bin" cpan> o conf commit 3) Then I did: cpan> install LWP::Simple which after awhile ended with this output: base/message-charset.t 255 65280 21 30 142.86% 7-21 9 subtests skipped. Failed 1/37 test scripts, 97.30% okay. 15/1127 subtests failed, 98.67% okay. make: *** [test] Error 2 /usr/bin/make test -- NOT OK Running make install make test had returned bad status, won't install without force 4) Somewhere in all the output during step 3), I saw a message that said: There's a new CPAN.pm version (v1.9402) available! [Current version is v1.7601] You might want to try install Bundle::CPAN reload cpan without quitting the current session. It should be a seamless upgrade while we are running... So after the install failed, and I was back at the cpan> prompt, I tried: cpan> install Bundle::CPAN which after a very long while ended with: Writing /Library/Perl/5.8.6/darwin-thread-multi-2level/auto/Module/Build/.packlist /usr/bin/make install -- OK Recursive dependency detected: Bundle::CPAN => Test::Harness => A/AN/ANDYA/Test-Harness-3.17.tar.gz => File::Spec => S/SM/SMUELLER/PathTools-3.31.tar.gz => Scalar::Util => G/GB/GBARR/Scalar-List-Utils-1.21.tar.gz => Test::More => M/MS/MSCHWERN/Test-Simple-0.94.tar.gz => Test::Harness. Cannot continue. CPAN: Term::ReadLine::Perl loaded ok .................... 20 subroutines in Term::ReadLine redefined cpan shell -- CPAN exploration and modules installation (v1.7601) ReadLine support enabled But I can't tell if the new version installed or not. I tried: $ cpan --version and I got: /usr/local/bin/cpan version [unknown] calling Getopt::Std::getopts (version 1.05 [paranoid]), 5) Assuming the new version did install, I did this: cpan> reload cpan which resulted in this: ....................................................................................................................................................................................................... 199 subroutines redefined ............ 12 subroutines redefined 6) Then I did this: cpan> exit Lockfile removed. $ sudo cpan Password: and accepted the defaults, which resulted in this: Sorry, we have to rerun the configuration dialog for CPAN.pm due to some missing parameters... Normally CPAN.pm keeps config variables in memory and changes need to be saved in a separate 'o conf commit' command to make them permanent between sessions. If you set the 'auto_commit' option to true, changes to a config variable are always automatically committed to disk. <auto_commit> Always commit changes to config variables to disk? [no] A Build.PL is run by perl in a separate process. Likewise we run './Build' and './Build install' in separate processes. If you have any parameters you want to pass to the calls, please specify them here. Typical frequently used settings: --install_base /home/xxx # different installation directory <mbuildpl_arg> Parameters for the 'perl Build.PL' command? [] Parameters for the './Build' command? Setting might be: --extra_linker_flags -L/usr/foo/lib # non-standard library location <mbuild_arg> Your choice: [] Do you want to use a different command for './Build install'? Sudo users will probably prefer: su root -c ./Build or sudo ./Build or /path1/to/sudo -u admin_account ./Build <mbuild_install_build_command> or some such. Your choice: [/Build] Parameters for the './Build install' command? Typical frequently used setting: --uninst 1 # uninstall conflicting files <mbuild_install_arg> Your choice: [] Please remember to call 'o conf commit' to make the config permanent! cpan shell -- CPAN exploration and modules installation (v1.9402) Enter 'h' for help. cpan[1]> 7) Then I did this again: cpan[1]> o conf makepl_arg "INSTALLBIN=/usr/local/bin INSTALLSCRIPT=/usr/local/bin" makepl_arg [INSTALLBIN=/usr/local/bin INSTALLSCRIPT=/usr/local/bin] Please use 'o conf commit' to make the config permanent! cpan[2]> o conf commit commit: wrote '/System/Library/Perl/5.8.6/CPAN/Config.pm' 8) Then I tried to install the module again: cpan[3]> install LWP::Simple and the output ended with: Test Summary Report ------------------- base/message-charset.t (Wstat: 65280 Tests: 6 Failed: 0) Non-zero exit status: 255 Parse errors: Bad plan. You planned 21 tests but ran 6. Files=37, Tests=1112, 25 wallclock secs ( 0.32 usr 0.16 sys + 2.94 cusr 0.71 csys = 4.13 CPU) Result: FAIL Failed 1/37 test programs. 0/1112 subtests failed. make: *** [test] Error 255 GAAS/libwww-perl-5.833.tar.gz /usr/bin/make test -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports GAAS/libwww-perl-5.833.tar.gz Running make install make test had returned bad status, won't install without force Failed during this command: GAAS/libwww-perl-5.833.tar.gz : make_test NO cpan[4]> So my question is: what the heck am I doing wrong? I saved all the output, so if you need to see more, let me know. 9) I just did this: $ sudo perl -MCPAN -e shell and this was the output: cpan shell -- CPAN exploration and modules installation (v1.9402) Enter 'h' for help. cpan[1]> So it looks like I did successfully upgrade my cpan. I still haven't been able to install that module though.