|
|||||||||||||||||||||||||||
On Thu, Jun 14, 2001 at 01:01:27PM +0200, Thomas Eibner wrote:
> > og jeg vil have hvert "zone entry" behandlet for sig, hvordan får jeg så
> > perl til at seperere ved hver "zone" istedet som i fx. nedstående
> > exemple, hvor hver newline angiver et nyt entry?
>
> Hvis jeg var dig ville jeg nok kigge lidt paa modulet BIND::Conf_Parser
> (http://perldoc.anidea.com/BIND/Conf_Parser.html)
>
> Jeg har en stump kode derhjemme der henter en named.conf ind i en perl
> datastruktur vha. BIND::Conf_Parser, hvis du er interesseret kan du maile
> mig for at faa den.
Saa fandt jeg lige koden:
#!/usr/bin/perl -w
use strict;
use BIND::Conf_Parser;
use Data::Dumper;
my %configuration = ();
sub BIND::Conf_Parser::handle_zone {
my ($self, $name, $class, $type, $options) = @_;
$configuration{$name} = $options;
}
BIND::Conf_Parser->parse_file('named.conf');
print Dumper(\%configuration);
__END__
Med named.conf:
zone "test.com" {
type master;
file "master/com/test.com";
};
zone "test.org" {
type master;
file "master/org/test.org";
};
zone "test.net" {
type master;
file "master/net/test.net";
};
Ville den give dette output:
$VAR1 = {
'test.net' => {
'file' => 'master/net/test.net',
'type' => 'master'
},
'test.org' => {
'file' => 'master/org/test.org',
'type' => 'master'
},
'test.com' => {
'file' => 'master/com/test.com',
'type' => 'master'
}
};
Haaber det var hvad du ledte efter.
--
Thomas Eibner <http://thomas.eibner.dk/> DnsZone <http://dnszone.org/>
mod_pointer <http://stderr.net/mod_pointer>
|
||||||||||||||
|
||||||||||||||