.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
.    ds C`
.    ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{
.    if \nF \{
.        de IX
.        tm Index:\\$1\t\\n%\t"\\$2"
..
.        if !\nF==2 \{
.            nr % 0
.            nr F 2
.        \}
.    \}
.\}
.rr rF
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
.    \" fudge factors for nroff and troff
.if n \{\
.    ds #H 0
.    ds #V .8m
.    ds #F .3m
.    ds #[ \f1
.    ds #] \fP
.\}
.if t \{\
.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
.    ds #V .6m
.    ds #F 0
.    ds #[ \&
.    ds #] \&
.\}
.    \" simple accents for nroff and troff
.if n \{\
.    ds ' \&
.    ds ` \&
.    ds ^ \&
.    ds , \&
.    ds ~ ~
.    ds /
.\}
.if t \{\
.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
.    \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
.    \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
.    \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
.    ds : e
.    ds 8 ss
.    ds o a
.    ds d- d\h'-1'\(ga
.    ds D- D\h'-1'\(hy
.    ds th \o'bp'
.    ds Th \o'LP'
.    ds ae ae
.    ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "CPANPLUS::Configure 3perl"
.TH CPANPLUS::Configure 3perl "2018-11-20" "perl v5.18.2" "Perl Programmers Reference Guide"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NAME"
CPANPLUS::Configure \- configuration for CPANPLUS
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 1
\&    $conf   = CPANPLUS::Configure\->new( );
\&
\&    $bool   = $conf\->can_save;
\&    $bool   = $conf\->save( $where );
\&
\&    @opts   = $conf\->options( $type );
\&
\&    $make       = $conf\->get_program(\*(Aqmake\*(Aq);
\&    $verbose    = $conf\->set_conf( verbose => 1 );
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
This module deals with all the configuration issues for \s-1CPANPLUS.\s0
Users can use objects created by this module to alter the behaviour
of \s-1CPANPLUS.\s0
.PP
Please refer to the \f(CW\*(C`CPANPLUS::Backend\*(C'\fR documentation on how to
obtain a \f(CW\*(C`CPANPLUS::Configure\*(C'\fR object.
.SH "METHODS"
.IX Header "METHODS"
.ie n .SS "$Configure = CPANPLUS::Configure\->new( load_configs => \s-1BOOL \s0)"
.el .SS "\f(CW$Configure\fP = CPANPLUS::Configure\->new( load_configs => \s-1BOOL \s0)"
.IX Subsection "$Configure = CPANPLUS::Configure->new( load_configs => BOOL )"
This method returns a new object. Normal users will never need to
invoke the \f(CW\*(C`new\*(C'\fR method, but instead retrieve the desired object via
a method call on a \f(CW\*(C`CPANPLUS::Backend\*(C'\fR object.
.IP "load_configs" 4
.IX Item "load_configs"
Controls whether or not additional user configurations are to be loaded
or not. Defaults to \f(CW\*(C`true\*(C'\fR.
.ie n .SS "$bool = $Configure\->init( [rescan => \s-1BOOL\s0])"
.el .SS "\f(CW$bool\fP = \f(CW$Configure\fP\->init( [rescan => \s-1BOOL\s0])"
.IX Subsection "$bool = $Configure->init( [rescan => BOOL])"
Initialize the configure with other config files than just
the default 'CPANPLUS::Config'.
.PP
Called from \f(CW\*(C`new()\*(C'\fR to load user/system configurations
.PP
If the \f(CW\*(C`rescan\*(C'\fR option is provided, your disk will be
examined again to see if there are new config files that
could be read. Defaults to \f(CW\*(C`false\*(C'\fR.
.PP
Returns true on success, false on failure.
.SS "can_save( [$config_location] )"
.IX Subsection "can_save( [$config_location] )"
Check if we can save the configuration to the specified file.
If no file is provided, defaults to your personal config.
.PP
Returns true if the file can be saved, false otherwise.
.ie n .SS "$file = $conf\->save( [$package_name] )"
.el .SS "\f(CW$file\fP = \f(CW$conf\fP\->save( [$package_name] )"
.IX Subsection "$file = $conf->save( [$package_name] )"
Saves the configuration to the package name you provided.
If this package is not \f(CW\*(C`CPANPLUS::Config::System\*(C'\fR, it will
be saved in your \f(CW\*(C`.cpanplus\*(C'\fR directory, otherwise it will
be attempted to be saved in the system wide directory.
(On Debian systems, this system wide directory is /etc/perl.)
.PP
If no argument is provided, it will default to your personal
config.
.PP
Returns the full path to the file if the config was saved,
false otherwise.
.SS "options( type => \s-1TYPE \s0)"
.IX Subsection "options( type => TYPE )"
Returns a list of all valid config options given a specific type
(like for example \f(CW\*(C`conf\*(C'\fR of \f(CW\*(C`program\*(C'\fR) or false if the type does
not exist
.SH "ACCESSORS"
.IX Header "ACCESSORS"
Accessors that start with a \f(CW\*(C`_\*(C'\fR are marked private \*(-- regular users
should never need to use these.
.PP
See the \f(CW\*(C`CPANPLUS::Config\*(C'\fR documentation for what items can be
set and retrieved.
.SS "get_SOMETHING( \s-1ITEM,\s0 [\s-1ITEM, ITEM, ... \s0] );"
.IX Subsection "get_SOMETHING( ITEM, [ITEM, ITEM, ... ] );"
The \f(CW\*(C`get_*\*(C'\fR style accessors merely retrieves one or more desired
config options.
.SS "set_SOMETHING( \s-1ITEM\s0 => \s-1VAL,\s0 [\s-1ITEM\s0 => \s-1VAL, ITEM\s0 => \s-1VAL, ... \s0] );"
.IX Subsection "set_SOMETHING( ITEM => VAL, [ITEM => VAL, ITEM => VAL, ... ] );"
The \f(CW\*(C`set_*\*(C'\fR style accessors set the current value for one
or more config options and will return true upon success, false on
failure.
.SS "add_SOMETHING( \s-1ITEM\s0 => \s-1VAL,\s0 [\s-1ITEM\s0 => \s-1VAL, ITEM\s0 => \s-1VAL, ... \s0] );"
.IX Subsection "add_SOMETHING( ITEM => VAL, [ITEM => VAL, ITEM => VAL, ... ] );"
The \f(CW\*(C`add_*\*(C'\fR style accessor adds a new key to a config key.
.PP
Currently, the following accessors exist:
.IP "set|get_conf" 4
.IX Item "set|get_conf"
Simple configuration directives like verbosity and favourite shell.
.IP "set|get_program" 4
.IX Item "set|get_program"
Location of helper programs.
.IP "_set|_get_build" 4
.IX Item "_set|_get_build"
Locations of where to put what files for \s-1CPANPLUS.\s0
.IP "_set|_get_source" 4
.IX Item "_set|_get_source"
Locations and names of source files locally.
.IP "_set|_get_mirror" 4
.IX Item "_set|_get_mirror"
Locations and names of source files remotely.
.IP "_set|_get_fetch" 4
.IX Item "_set|_get_fetch"
Special settings pertaining to the fetching of files.
.SH "BUG REPORTS"
.IX Header "BUG REPORTS"
Please report bugs or other issues to <bug\-cpanplus@rt.cpan.org<gt>.
.SH "AUTHOR"
.IX Header "AUTHOR"
This module by Jos Boumans <kane@cpan.org>.
.SH "COPYRIGHT"
.IX Header "COPYRIGHT"
The \s-1CPAN++\s0 interface (of which this module is a part of) is copyright (c)
2001 \- 2007, Jos Boumans <kane@cpan.org>. All rights reserved.
.PP
This library is free software; you may redistribute and/or modify it
under the same terms as Perl itself.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
CPANPLUS::Backend, CPANPLUS::Configure::Setup, CPANPLUS::Config
