AppConfig::Exporter - Allow modules to import AppConfig sections from a shared configuration.


AppConfig-Exporter documentation  | view source Contained in the AppConfig-Exporter distribution.

Index


NAME

Top

AppConfig::Exporter - Allow modules to import AppConfig sections from a shared configuration.

SYNOPSIS

Top

    package MyConfig;
    use base qw( AppConfig::Exporter );

    __PACKAGE__->configure( Config_File => 'myfile.conf', 
                            AppConfig_Options => { CASE => 0 }, 
                            AppConfig_Define => { Fun_Pickles => {ARGCOUNT => ARGCOUNT_LIST} } );
    1;

USAGE

Top

AppConfig::Exporter is intended to be subclassed to specify your configuration file and any options. Then, you can request a hash of any section from the configuration file by specifying it as a symbol to be imported in the use statement:

    # myfile.conf
    [fruit]

    oranges = 'tasty'
    apples  = 'sweet'

    # some code elsewhere... 

    use MyConfig qw(fruit);
    print "$fruit{oranges}!";  # tasty!

    my $appconfig = MyConfig->AppConfig;

CONFIGURATION

Top

configure

This is how your class is initialized. You must specify a Config_File, and you may specify a hashref of AppConfig_Options and AppConfig_Define.

Config_File

Required - path to your AppConfig compatible config file

    __PACKAGE__->configure( Config_File => 'myfile.conf' );




AppConfig_Options

Hash ref that will be fed to AppConfig - you can override this module's defaults, which are:

        CASE   => 1,
        CREATE => 1,
        GLOBAL => {
            ARGCOUNT => ARGCOUNT_ONE,
        }

For example:

    __PACKAGE__->configure( Config_File => 'myfile.conf', 
                            AppConfig_Options => { CASE => 0 } ); 

AppConfig_Define

Hash ref that will be fed to AppConfig as a define statement if you wish for a specific variable to have different properties than the global ones.

Note: So that you can use AppConfig's constants, this module automatically imports AppConfig's b<:argcount> tag into your package for you.



    __PACKAGE__->configure( Config_File => 'myfile.conf', 
                            AppConfig_Define => { Fun_Pickles => {ARGCOUNT => ARGCOUNT_LIST} } );

import

This does the heavy lifting using the Exporter. You don\'t call this directly - use will do it for you.

AppConfig

You can use this to access the the raw AppConfig object that the exporter sources for configuration.

AUTHOR

Top

Ben H Kram, <bkram at dce.harvard.edu>

ACKNOWLEDGEMENTS

Top

Andy Wardley, for his excellent AppConfig module.

COPYRIGHT & LICENSE

Top


AppConfig-Exporter documentation  | view source Contained in the AppConfig-Exporter distribution.