CPAN Testers is only made possible with the support of our sponsors.
For more information on sponsoring, please visit the I CPAN Testers website.

Upgrade Notice

The CPAN Testers Wiki site has been upgraded since you last accessed the site. Please press the F5 key or CTRL-R to refresh your browser cache to use the latest javascript and CSS files.


Distroprefs are an overlooked feature in CPAN (search for the "Configuration for individual distribution (Distroprefs)" section). For smoke testing, they allow one to specify distributions to skip according to certain rules or provide answers to interactive question in the build process.

Distroprefs are *.yml files, kept in the CPAN 'prefs_dir' option directory. By default, this is ~/.cpan/prefs (unfortunately, on Windows, that's like "c:\documents and settings\USERNAME\Local Settings\.cpan\prefs") - repository with distroprefs for cpantesters problems that were reported. Only specific versions is disabled, so if problem is fixed, there would be no need to remove rule.

Dagolden keeps sample distroprefs in a git repository -- you can browse them here:

If you want to clone them, if you have git you can do this:

$ git clone

The never.yml file in that repository is recommended. Others represent his collected experience smoke testing, but without later review to see if problems were fixed.

Another collection of distroprefs may be found here:

$ git clone git://

Chris Williams said on around Feb 2009:

CPANPLUS itself doesn't have the equivalent of 'distprefs'.

If you use CPAN(PLUS)::YACSmoke there is a documented mechanism in both modules for excluding particular distributions.

the location where CPANPLUS stores it's configuration files, ie. the .cpanplus/ directory. This is where it locates the cpansmoke.ini file and puts the cpansmoke.dat.* files that are the SDBM test report history files.

CPANPLUS usually locates the .cpanplus in $HOME, but it will check the following ENV vars in order:


On Windows I tend to set APPDATA to something I control, like C:\Strawberry for Strawberry Perl or C:\Perl for ActiveState Perl. That way I have separate environments for CPANPLUS on those two perls.

I also tend to unset APPDATA in my cygwin.bat launcher, so it picks up $HOME instead of $APPDATA.

-- Chris Williams aka BinGOs PGP ID 0x4658671F