Scroll to navigation

CPAN::Mini::Inject::Config(3pm) User Contributed Perl Documentation CPAN::Mini::Inject::Config(3pm)

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"
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
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.

Return the value for the named configuration directive.
"set( DIRECTIVE, VALUE )"
Sets the value for the named configuration directive.
2024-09-16 perl v5.38.2