One way you can contribute is to send test results for each module
that you install. If you install the CPAN::Reporter module, you have
the option to automatically generate and email test reports to CPAN
Testers whenever you run tests on a CPAN package.
See the CPAN::Reporter documentation for additional details and
configuration settings. If your firewall blocks outgoing email,
you will need to configure CPAN::Reporter before sending reports.
Email test reports if CPAN::Reporter is installed (yes/no)?
=item perl5lib_verbosity
When CPAN.pm extends @INC via PERL5LIB, it prints a list of
directories added (or a summary of how many directories are
added). Choose 'v' to get this message, 'none' to suppress it.
Verbosity level for PERL5LIB changes (none or v)?
=item trust_test_report_history
When a distribution has already been tested by CPAN::Reporter on
this machine, CPAN can skip the test phase and just rely on the
test report history instead.
Note that this will not apply to distributions that failed tests
because of missing dependencies. Also, tests can be run
regardless of the history using "force".
Do you want to rely on the test report history (yes/no)?
=item use_sqlite
CPAN::SQLite is a layer between the index files that are downloaded
from the CPAN and CPAN.pm that speeds up metadata queries and reduces
memory consumption of CPAN.pm considerably.
Use CPAN::SQLite if available? (yes/no)?
=item yaml_load_code
Both YAML.pm and YAML::Syck are capable of deserialising code. As this
requires a string eval, which might be a security risk, you can use
this option to enable or disable the deserialisation of code via
CPAN::DeferedCode. (Note: This does not work under perl 5.6)
Do you want to enable code deserialisation (yes/no)?
=item yaml_module
At the time of this writing there are two competing YAML modules,
YAML.pm and YAML::Syck. The latter is faster but needs a C compiler
installed on your system. There may be more alternative YAML
conforming modules but at the time of writing a potential third
player, YAML::Tiny, seemed not powerful enough to work with CPAN.pm.
Which YAML implementation would you prefer?
=back
=head1 LICENSE
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
=cut
use vars qw( %prompts );
sub init {
my($configpm, %args) = @_;
use Config;
# extra args after 'o conf init'
my $matcher = $args{args} && @{$args{args}} ? $args{args}[0] : '';
if ($matcher =~ /^\/(.*)\/$/) {
# case /regex/ => take the first, ignore the rest
$matcher = $1;
shift @{$args{args}};
if (@{$args{args}}) {
local $" = " ";
$CPAN::Frontend->mywarn("Ignoring excessive arguments '@{$args{args}}'");
$CPAN::Frontend->mysleep(2);
}
} elsif (0 == length $matcher) {
} elsif (0 && $matcher eq "~") { # extremely buggy, but a nice idea
my @unconfigured = grep { not exists $CPAN::Config->{$_}
or not defined $CPAN::Config->{$_}
or not length $CPAN::Config->{$_}
} keys %$CPAN::Config;
$matcher = "\\b(".join("|", @unconfigured).")\\b";
$CPAN::Frontend->mywarn("matcher[$matcher]");
} else {
# case WORD... => all arguments must be valid
for my $arg (@{$args{args}}) {
unless (exists $CPAN::HandleConfig::keys{$arg}) {
$CPAN::Frontend->mywarn("'$arg' is not a valid configuration variable\n");
return;
}
}
=6= |