The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Myco::Config - Myco Configuration Module

SYNOPSIS

  # In myco.conf:
  <foobar>
      FOOBAR_PORT_NUM = 6288
      FOOBAR_HOST = localhost
  </foobar>  
  <barbaz>
      BARBAZ_USER = bazdude
      <BARBAZ_PROFILE>
          uid = 1999
          gid = 1999
      <BARBAZ_PROFILE>
  </barbaz>
  
  <<include my_myco_app.conf>>

  
  # In a Myco entity class:
  use Myco::Config qw(:foobar);

  # In another Myco entity class:
  use Myco::Config qw(:barbaz);

  # To get all constants:
  use Myco::Config qw(:all);

DESCRIPTION

This module reads in a configuration file and sets up a bunch of constants that are used in the Myco framework. It will also parse any external config files included from within "myco.conf" in conf, enabling myco-based applications to make centralized use of Myco::Config.

Myco::Config generates a series of constants for the values in a configuration file. The top-level config blocks are converted to labels under which the constants are listed. This makes it very simple to create export tags that can be used in modules to import only the constants associated with a given label.

While no constants are exported by Myco::Config by default, the special all tag can be used to export all of the constants created from the configuration file, as well as included files:

  use Myco::Config qw(:all);
  

Configuration files are parsed using Config::General and their syntax should conform to its requirements. See "myco.conf-dist" in conf and "myco.conf-dist" in conf for an example.

LICENSE AND COPYRIGHT

Copyright (c) 2006 the myco project. All rights reserved. This software is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

AUTHOR

David Wheeler <david@wheeler.net>