NAME

Net::ISC::DHCPd::Config - Parse and create ISC DHCPd config

SYNOPSIS

use Net::ISC::DHCPd::Config;

my $config = Net::ISC::DHCPd::Config->new(
                 file => '/etc/dhcpd3/dhcpd.conf',
             );

# parse the config
$config->parse;

# parsing includes are lazy
for my $include ($config->includes) {
    $include->parse;
}

print $config->subnets->[0]->dump;
print $config->includes->[0]->hosts->[0]->dump;
print $config->generate;

DESCRIPTION

This class does the role Net::ISC::DHCPd::Config::Root.

POSSIBLE CONFIG TREE

Config
 |- Config::Include
 |- Config::Subnet
 |  |- Config::Option
 |  |- Config::Declaration
 |  |- Config::Range
 |  |- Config::Host
 |  |  |- ...
 |  |- Config::Filename
 |  '- Config::Pool
 |     |- Option
 |     |- Range
 |     '- KeyValue
 |
 |- Config::SharedNetwork
 |  |- Config::Subnet
 |  |  |- ...
 |  |- Config::Declaration
 |  '- Config::KeyValue
 |
 |- Config::Group
 |  |- Config::Host
 |  |  |- ...
 |  |- Config::Option
 |  |- Config::Declaration
 |  '- Config::KeyValue
 |
 |- Config::Host
 |  |- Config::Option
 |  |- Config::Filename
 |  |- Config::Declaration
 |  '- Config::KeyValue
 |
 |- Config::OptionSpace
 |  '- Config::OptionSpace::Option
 |
 |- Config::Option
 |- Config::Declaration *
 |- Config::Function
 |- Config::KeyValue
 '- Config::Single      *

METHODS

filehandle

This method will be deprecated.

COPYRIGHT & LICENSE

AUTHOR

See Net::ISC::DHCPd.