If PERL5OPT is set to a user value (like -CSA),
CPAN corrupts the downloadable author database.
cpan[1]> install Device::SpaceNavigator
Fetching with LWP:
http://www.perl.com/CPAN/authors/01mailrc.txt.gz
Fetching with LWP:
http://www.perl.com/CPAN/modules/02packages.details.txt.gz
Fetching with LWP:
http://www.perl.com/CPAN/modules/03modlist.data.gz
Database was generated on Wed, 08 Aug 2012 02:14:30 GMT
Updating database file ...
Cannot eval /Share/CPAN/sources/modules/03modlist.data.gz: Unrecognized
character \x03; marked by <-- HERE after $__ExPr__;<-- HERE near column
14 at (eval 60) line 1, <TYPE> line 39.
Catching error: "system /usr/bin/perl -MCPAN::SQLite::META=setup,update
-e update failed: 65280 at
/usr/lib/perl5/site_perl/5.14.2/CPAN/SQLite/META.pm line 332.\cJ" at
/usr/lib/perl5/5.14.2/CPAN.pm line 392.
CPAN::shell() called at
/usr/lib/perl5/site_perl/5.14.2/App/Cpan.pm line 338
App::Cpan::_process_options('App::Cpan') called at
/usr/lib/perl5/site_perl/5.14.2/App/Cpan.pm line 421
App::Cpan::run('App::Cpan') called at /usr/bin/cpan line 13
Database was generated on Wed, 08 Aug 2012 02:14:30 GMT
Updating database file ...
Cannot eval /Share/CPAN/sources/modules/03modlist.data.gz: Unrecognized
character \x03; marked by <-- HERE after $__ExPr__;<-- HERE near column
14 at (eval 60) line 1, <TYPE> line 39.
Scanning cache /home/cache/CPAN-build/build for sizes
............................................................................DONE
Lockfile removed.
system /usr/bin/perl -MCPAN::SQLite::META=setup,update -e update failed:
65280 at /usr/lib/perl5/site_perl/5.14.2/CPAN/SQLite/META.pm line 332.
-------------------
To work around the bug, the user must know that this is the cause (!),
unset it and manually delete the cache files, since CPAN doesn't seem
to try to download them again after it has corrupted them.
(maybe it would if the file were a day old.. (cache expir))...
If CPAN needs to have or not have certain values in PERL5OPT, it should
likely set them. It would appear that maybe the database files are not
UTF-8 encoded? Which would indicate Perl is not very welcoming to
users w/names not in ASCII/Latin1?