NAME
CPAN::Mini::Inject::Config - Config for CPAN::Mini::Inject
SYNOPSIS
my $config = CPAN::Mini::Inject::Config->new;
DESCRIPTION
Configuration
This is the default class dealing with the default CPAN::Mini::Inject config. The simplest config is a key-value file:
local: t/local/CPAN
remote : http://localhost:11027
repository: t/local/MYCPAN
dirmode: 0775
passive: yes
This module digests that and returns it as a hash reference. Any module that wants to use a different sort of config structure needs to return the same hash:
{
local => 't/local/CPAN',
remote => 'http://localhost:11027',
repository => 't/local/MYCPAN',
dirmode => '0775',
passive => 'yes',
}
local
location to store local CPAN::Mini mirror (*REQUIRED*)
remote
CPAN site(s) to mirror from. Multiple sites can be listed space separated. (*REQUIRED*)
repository
Location to store modules to add to the local CPAN::Mini mirror.
passive
Enable passive FTP.
dirmode
Set the permissions of created directories to the specified mode. The default value is based on umask if supported.
Methods
new
config_file( [FILE] )
load_config()
-
loadcfg accepts a CPAN::Mini::Inject config file or if not defined will search the following four places in order:
file pointed to by the environment variable
MCPANI_CONFIG
$HOME/.mcpani/config
/usr/local/etc/mcpani
/etc/mcpani
loadcfg sets the instance variable cfgfile to the file found or undef if none is found.
print "$mcpi->{cfgfile}\n"; # /etc/mcpani
parse_config()
-
parsecfg reads the config file stored in the instance variable cfgfile and creates a hash in config with each setting.
$mcpi->{config}{remote} # CPAN sites to mirror from.
parsecfg expects the config file in the following format:
local: /www/CPAN remote: ftp://ftp.cpan.org/pub/CPAN ftp://ftp.kernel.org/pub/CPAN repository: /work/mymodules passive: yes dirmode: 0755
If either local or remote are not defined parsecfg croaks.
get( DIRECTIVE )
-
Return the value for the named configuration directive.
set( DIRECTIVE, VALUE )
-
Sets the value for the named configuration directive.