These are just examples that I. use. There are more example here,
In your $HOME/.cpan/prefs you can hold .yml files that describe how cpan should act on the distributions describes in the YAML file, which includes answering questions asked by Makefile.PL or Build.PL. You can make sections specific for os, so these preferences can be shipped portable across OS's. These files can also refer to patches that you want to apply to the modules (for various reasons). These patches are usually stored in $HOME/.cpan/patches.
$ cat ~/.cpan/patches/XML-Twig.patch
--- tools/xml_pp/xml_pp 2010-10-29 13:30:38.000000000 +0200
+++ tools/xml_pp/xml_pp 2010-10-29 13:30:49.000000000 +0200
@@ -10,7 +10,7 @@ my @styles= XML::Twig->_pretty_print_sty
my $styles= join '|', @styles; # for usage
my %styles= map { $_ => 1} @styles; # to check option
-my $DEFAULT_STYLE= 'indented';
+my $DEFAULT_STYLE= 'indented_close_tag';
my $USAGE= "usage: $0 [-v] [-i<extension>] [-s ($styles)] [-p <tag(s)
+>] [-e <encoding>] [-l] [-f <file>] [<files>]";
$ cat ~/.cpan/prefs/MIROD.XML-Twig.yml
---
match:
distribution: "^MIROD/XML-Twig-"
pl:
expect:
- "Do you want to install 'xml_pp'"
- "y\n"
- "Do you want to install 'xml_grep'"
- "y\n"
- "Do you want to install 'xml_split'"
- "y\n"
- "Do you want to install 'xml_merge'"
- "y\n"
- "Do you want to install 'xml_spellcheck'"
- "y\n"
depends:
requires:
Test::Pod::Coverage: 0
patches:
- "../../patches/XML-Twig.patch"
$ cat ~/.cpan/prefs/NANIS.Crypt-SSLeay.yml
---
match:
distribution: "^(DLAND|NANIS)/Crypt-SSLeay-"
perlconfig:
osname: "linux"
pl:
eexpect:
mode: anyorder
talk:
- "Which OpenSSL build path"
- "\n"
- "Which SSL install path"
- "\n"
- "Do you want to run the live tests"
- "n\n"
---
match:
distribution: "^(DLAND|NANIS)/Crypt-SSLeay-"
perlconfig:
osname: "hpux"
pl:
eexpect:
mode: anyorder
talk:
- "Which OpenSSL build path"
- "\n"
- "Which SSL install path"
- "/usr/local/ssl\n"
- "Do you want to run the live tests"
- "n\n"
$
Enjoy, Have FUN! H.Merijn
/div |