BIND::Config::Parser - Parse BIND Config file.
use BIND::Config::Parser; # Create the parser my $parser = new BIND::Config::Parser; my $indent = 0; # Set up callback handlers $parser->set_open_block_handler( sub { print "\t" x $indent, join( " ", @_ ), " {\n"; $indent++; } ); $parser->set_close_block_handler( sub { $indent--; print "\t" x $indent, "};\n"; } ); $parser->set_statement_handler( sub { print "\t" x $indent, join( " ", @_ ), ";\n"; } ); # Parse the file $parser->parse_file( "named.conf" );
BIND::Config::Parser provides a lightweight parser to the configuration file syntax of BIND v8 and v9 using a Parse::RecDescent grammar.
Parse::RecDescent
It is in a similar vein to BIND::Conf_Parser. However, as it has no knowledge of the directives, it doesn't need to be kept updated as new directives are added, it simply knows how to carve up a BIND configuration file into logical chunks.
BIND::Conf_Parser
Create a new BIND::Config::Parser object.
BIND::Config::Parser
Set the code to be called when a configuration block is opened. At least one argument will be passed; the name of that block, for example options or zone, etc. as well as any additional items up to but not including the opening curly brace.
options
zone
Set the code to be called when a configuration block is closed. No arguments are passed.
Set the code to be called on a single line configuration element. At least one argument will be passed; the name of that element, as well as any additional items up to but not including the ending semi-colon.
Parse FILENAME, triggering the above defined handlers on the relevant sections.
Probably the odd one or two things. I'm fairly sure the grammar is correct.
Copyright (c) 2005 Matt Dainty.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Matt Dainty <matt@bodgit-n-scarper.com>.
perl, Parse::RecDescent, BIND::Conf_Parser.
To install BIND::Config::Parser, copy and paste the appropriate command in to your terminal.
cpanm
cpanm BIND::Config::Parser
CPAN shell
perl -MCPAN -e shell install BIND::Config::Parser
For more information on module installation, please visit the detailed CPAN module installation guide.