CPAN prefers to use File::HomeDir to determine it own directory, so far that has been `$HOME/.cpan`. F::H 0.90 adds XDG support, accordingly the directory moved to a different location, except for the configuration file whose location is sort of hard-coded if missing. cpan from App::Cpan allows the user to name a configuration file, I had to tweak CPAN slightly to prefer committing to that file if specified. I published the changes at <http://github.com/daxim/cpanpm/commits>. (Pull request to andk coming soon.) Together this made it possible for me to get rid of `$HOME/.cpan` altogether, I keep CPAN's data now at standard-conformant locations in the file system.
> alias cpan alias cpan='$HOME/local/bin/cpan -s -j $HOME/.config/cpan/Config.pm' > ack HOME ~/.config/cpan/Config.pm my $HOME = $ENV{HOME}; 'build_dir' => qq[$HOME/.cache/cpan-build], 'cpan_home' => qq[$HOME/.local/share/cpan], 'histfile' => qq[$HOME/.local/share/cpan/histfile], 'keep_source_where' => qq[$HOME/.cache/cpan-sources], 'prefs_dir' => qq[$HOME/.local/share/cpan/prefs], 'urllist' => [ qq[file://$HOME/.cache/cpan-sources],
signature.asc
Description: This is a digitally signed message part.