Updates and additions to modules using the CPAN module does not work if Lynx is installed. Since Bundle::Libnet /Net::FTP is not installed by default , when Perl -MCPAN -e shell is invoked, lynx -source is used to retrieve Files from CPAN. However, Lynx is sending out - 'guessing http ://' 'Guessing ftp://' etc as the first line of every file it is being asked to download. This confuses the Parser and the CPAN module then refuses to proceed. The temporary workaround I used was to rename lynx to lyx and then force CPAN to fall back to ncftpget , after which everything worked. Once I installed Net::FTP i renamed lyx to lynx and everything proceeded normally. Could the Order of clients used be reordered so that ncftpget is attempted before lynx ? This could be another solution. The best thing would be , of course to patch CPAN.pm so that lynx never has to guess the protocol to be used as it seems to be neglecting , right now.
The CPAN module bundled with 5.6.0 in our development tree appears to be using correctly-formatted URLs, which don't confuse lynx.
Note that if you're behind a firewall, this still won't be good enough because Lynx defaults to active mode FTP, which can be changed by editing /etc/lynx.cfg...