NAME

Slackware::Slackget::Config - An interface to the configuration file

VERSION

Version 1.0.1

SYNOPSIS

This class is use to load a configuration file (config.xml) and the servers list file (servers.xml). It only encapsulate the XMLin() method of XML::Simple, there is no accessors or treatment method for this class. There is only a constructor which take only one argument : the name of the configuration file.

After loading you can acces to all values of the config file in the same way that with XML::Simple.

The only purpose of this class, is to allow other class to check that the config file have been properly loaded.

use Slackware::Slackget::Config;

my $config = Slackware::Slackget::Config->new('/etc/slack-get/config.xml') or die "cannot load config.xml\n";
print "I will use the encoding: $config->{common}->{'file-encoding'}\n";
print "slack-getd is configured as: $config->{daemon}->{mode}\n" ;

This module needs XML::Simple to work.

CONSTRUCTOR

new

The constructor take the config file name as argument.

my $config = Slackware::Slackget::Config->new('/etc/slack-get/config.xml') or die "cannot load config.xml\n";

get_token

Return the value associated to the given token.

Tokens are requested through a path like syntax. For example, the following XML :

<xml>
  <item>
    <key>value</key>
  </item>
</xml>

The <key> element's value is accessed throught :

print $config->get_token("/item/key"); # the root key is not kept by this class

**WARNING** even if it could look like XPath : IT IS NOT !

set_token

Following the same syntax as the get_token() method, it allows you to set a configuration token.

$config->set_token("/item/key", "new value");

The value can be anything fitting a scalar (number, strings, array ref, hash ref, etc.)

AUTHOR

DUPUIS Arnaud, <a.dupuis@infinityperl.org>

BUGS

Please report any bugs or feature requests to bug-Slackware-Slackget@rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Slackware-Slackget. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc Slackware::Slackget

You can also look for information at:

ACKNOWLEDGEMENTS

Thanks to Bertrand Dupuis (yes my brother) for his contribution to the documentation.

SEE ALSO

COPYRIGHT & LICENSE

Copyright 2005 DUPUIS Arnaud, All Rights Reserved.

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