Provided by: libconfig-yaml-perl_1.42-2_all bug

NAME

       Config::YAML - Simple configuration automation

VERSION

       Version 1.42

SYNOPSIS

       Config::YAML is a somewhat object-oriented wrapper around the YAML module which makes reading and writing
       configuration files simple. Handling multiple config files (e.g. system and per-user configuration, or a
       gallery app with per-directory configuration) is a snap.

           use Config::YAML;

           # create Config::YAML object with any desired initial options
           # parameters; load system config; set alternate output file
           my $c = Config::YAML->new( config => "/usr/share/foo/globalconf",
                                      output => "~/.foorc",
                                      param1 => value1,
                                      param2 => value2,
                                      ...
                                      paramN => valueN,
                                    );

           # integrate user's own config
           $c->read("~/.foorc");

           # integrate command line args using Getopt::Long
           $rc = GetOptions ( $c,
                              'param1|p!',
                              'param2|P',
                              'paramN|n',
                            );

           # Write configuration state to disk
           $c->write;

           # simply get params back for use...
           do_something() unless $c->{param1};
           # or get them more OO-ly if that makes you feel better
           my $value = $c->get_param2;

METHODS

   new
       Creates a new Config::YAML object.

           my $c = Config::YAML->new( config => initial_config,
                                      output => output_config
                                    );

       The "config" parameter specifies the file to be read in during object creation. It is required, and must
       be the first parameter given. If the second parameter is "output", then it is used to specify the file to
       which configuration data will later be written out.  This positional dependency makes it possible to have
       parameters named "config" and/or "output" in config files.

       Initial configuration values can be passed as subsequent parameters to the constructor:

           my $c = Config::YAML->new( config => "~/.foorc",
                                      foo    => "abc",
                                      bar    => "xyz",
                                      baz    => [ 1, 2, 3 ],
                                    );

   get_*/set_*
       If you'd prefer not to directly molest the object to store and retrieve configuration data, autoloading
       methods of the forms "get_[param]" and "set_[param]" are provided. Continuing from the previous example:

           print $c->get_foo;      # prints "abc"
           my $val = $c->get_quux; # $c->{quux} doesn't exist; returns undef

           $c->set_bar(30);     # $c->{bar} now equals 30, not "xyz"
           my @list = qw(alpha beta gamma);
           $c->set_baz(\@list); # $c->{baz} now a reference to @list

   fold
       Convenience method for folding multiple values into the config object at once. Requires a hashref as its
       argument.

           $prefs{theme}  = param(theme);
           $prefs{format} = param(format);
           $prefs{sortby} = param(order);

           $c->fold(\%prefs);

           my $format = $c->get_format; # value matches that of param(format)

   read
       Imports a YAML-formatted config file.

           $c->read('/usr/share/fooapp/fooconf');

       "read()" is called at object creation and imports the file specified by "new(config=>)", so there is no
       need to call it manually unless multiple config files exist.

   write
       Dump current configuration state to a YAML-formatted flat file.

           $c->write;

       The file to be written is specified in the constructor call. See the "new" method documentation for
       details.

DEPRECATED METHODS

       These methods have been superceded and will likely be removed in the next release.

   get
       Returns the value of a parameter.

           print $c->get('foo');

   set
       Sets the value of a parameter:

           $c->set('foo',1);

           my @paints = qw( oil acrylic tempera );
           $c->set('paints', \@paints);

AUTHOR

       Shawn Boyette ("<mdxi@cpan.org>")

       Original implementation by Kirrily "Skud" Robert (as "YAML::ConfigFile").

BUGS

       •   Config::YAML ignores the YAML document separation string ("---") because it has no concept of
           multiple targets for the data coming from a config file.

       Please report any bugs or feature requests to "bug-yaml-configfile@rt.cpan.org", or through the web
       interface at <http://rt.cpan.org>.  I will be notified, and then you'll automatically be notified of
       progress on your bug as I make changes.

COPYRIGHT & LICENSE

       Copyright 2004 Shawn Boyette, All Rights Reserved.

       This program is free software; you can redistribute it and/or modify it under the same terms as Perl
       itself.