The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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.