zone-ls
changeset 25 c02caf4e0eb6
parent 23 9dc00aa49452
child 27 d5337081ed02
--- a/zone-ls	Mon Aug 02 13:45:47 2010 +0200
+++ b/zone-ls	Wed Aug 04 11:27:21 2010 +0200
@@ -3,32 +3,44 @@
 use strict;
 use warnings;
 use File::Basename;
+use FindBin;
 
+
+# liest die Konfiguration ein
+my @configs = ("$FindBin::Bin/dnstools.conf", "/etc/dnstools.conf");
 my %config;
-open (CONFIG, $_ = "<dnstools.conf") or die "Can't open $_: $!\n";
+
+for (grep {-f} @configs) {
+	open(CONFIG, $_) or die "Can't open $_: $!\n";
+}
+
+unless (seek(CONFIG,0 ,0 )) {
+	die "Can't open config (searched: @configs)\n"
+}
 
 while (<CONFIG>) {
-        chomp;
-        s/#.*//;
-        s/\t//g;
-        s/\s//g;
-
-        next unless length;
-        my ($cname, $ccont) = split (/\s*=\s*/, $_,2);
-        $config{$cname} = $ccont;
+	chomp;
+	s/#.*//;
+	s/\t//g;
+	s/\s//g;
+	next unless length;
+	my ($cname, $ccont) = split (/\s*=\s*/, $_,2);
+	$config{$cname} = $ccont;
 }
 close (CONFIG);
 
+
 my $master_dir = $config{master_dir};
+my $zone; 
+my ($info_zsk, $info_ksk, $info_kc, $info_end);
 
-die "$config{master_dir}: $!\n" 
-	if not -d $config{master_dir} or not -r $config{master_dir};
+unless (-d $master_dir and -r $master_dir) {
+	die "$master_dir: $!\n";
+}
+
 
 printf "%-25s %1s/%1s %3s %7s\n", "Domain", "ZSK", "KSK", "Used", "Sig-end";
 
-my $zone; 
-my ($info_zsk, $info_ksk, $info_kc, $info_end);
-
 foreach my $dir (glob "$master_dir/*") {
 	
 	$zone = basename($dir);