made the code looking more common. hs12
authorHeiko Schlittermann <hs@schlittermann.de>
Tue, 21 Dec 2010 16:20:16 +0100
branchhs12
changeset 48 04cefcf6f4ac
parent 44 8b487ebf8d99
child 49 ae211c0aece0
made the code looking more common.
update-serial.pl
--- a/update-serial.pl	Tue Dec 21 15:39:50 2010 +0100
+++ b/update-serial.pl	Tue Dec 21 16:20:16 2010 +0100
@@ -1,16 +1,15 @@
 #!/usr/bin/perl 
 
+use v5.10;
 use strict;
 use warnings;
 use FindBin;
 use File::Basename;
 
-sub del_double {
-
-    # entfernt doppelte eintraege in einer liste
+sub uniq {
     my %all;
-    grep { $all{$_} = 0 } @_;
-    return (keys %all);
+    @all{@_} = ();
+    keys %all;
 }
 
 sub read_conf {
@@ -85,8 +84,7 @@
     our @new_serial;
 
     # erzeugt $time (die zeit ab der neu signiert werden soll)
-    chomp(my $unixtime = `date +%s`);
-    $unixtime = $unixtime + (3600 * $sign_alert_time);
+    my $unixtime = time + (3600 * $sign_alert_time);
     my $time = `date -d \@$unixtime +%Y%m%d%H`;
 
     ## vergleicht fuer alle zonen im ordner $master_dir mit einer
@@ -121,7 +119,7 @@
     my $zone;
     my $kc;
 
-    for (&del_double(@new_serial)) {
+    for (uniq(@new_serial)) {
         $zone = $_;
 
         unless (-e "$master_dir/$zone/.index.zsk") {
@@ -159,7 +157,7 @@
     my $scount;
     my $serial;
 
-    for (&del_double(@new_serial)) {
+    for (uniq(@new_serial)) {
 
         # erhoeht den serial
         my $zone        = $_;
@@ -393,7 +391,7 @@
     our $master_dir;
     our @new_serial;
 
-    for (&del_double(@begin_ro_list)) {
+    for (uniq(@begin_ro_list)) {
 
         #erzeugt zsks
         my $zone = $_;
@@ -526,41 +524,45 @@
     }
 }
 
-&read_conf;
+MAIN: {
+
+    read_conf;
 
-our %config;
-our @new_serial;       # liste fuer neuen serial
-our @begin_ro_list;    # liste mit zonen deren key-rollover beginnt
-our @end_ro_list;      # liste mit zonen deren key-rollover fertig ist
-our $master_dir      = $config{master_dir};
-our $bind_dir        = $config{bind_dir};
-our $conf_dir        = $config{zone_conf_dir};
-our $sign_alert_time = $config{sign_alert_time};
-our $indexzone       = $config{indexzone};
-our $key_counter_end = $config{key_counter_end};
-our $ablauf_zeit     = $config{abl_zeit};
+    our %config;
+    our @new_serial;       # liste fuer neuen serial
+    our @begin_ro_list;    # liste mit zonen deren key-rollover beginnt
+    our @end_ro_list;      # liste mit zonen deren key-rollover fertig ist
+    our $master_dir      = $config{master_dir};
+    our $bind_dir        = $config{bind_dir};
+    our $conf_dir        = $config{zone_conf_dir};
+    our $sign_alert_time = $config{sign_alert_time};
+    our $indexzone       = $config{indexzone};
+    our $key_counter_end = $config{key_counter_end};
+    our $ablauf_zeit     = $config{abl_zeit};
 
-&add_argv;
-&changed_zone;
-&sign_end;
+    add_argv;
+    changed_zone;
+    sign_end;
 
-&to_begin_ro;    # prueft nach beginnenden rollover-verfahren
-&to_end_ro;      # prueft nach endenden rollover-verfahren
+    to_begin_ro;    # prueft nach beginnenden rollover-verfahren
+    to_end_ro;      # prueft nach endenden rollover-verfahren
+
+    if (@begin_ro_list) {
+        begin_ro;    # eine rollover-beginn-sequenz
+    }
+
+    if (@end_ro_list) {
+        end_ro;      # eine rollover-end-squenz
+    }
 
-if (@begin_ro_list) {
-    &begin_ro;    # eine rollover-beginn-sequenz
-}
+    if (@new_serial) {
+        update_index;     # index zone aktuallisieren
+        update_serial;    # serial aktuallisieren
+        sign_zone;        # zone signieren
+    }
 
-if (@end_ro_list) {
-    &end_ro;      # eine rollover-end-squenz
+    file_entry;       # bearbeitet die file-eintraege der konfigurations-datei
+    mk_zone_conf;     # konfiguration zusammenfuegen
+    server_reload;    # server neu laden
+
 }
-
-if (@new_serial) {
-    &update_index;     # index zone aktuallisieren
-    &update_serial;    # serial aktuallisieren
-    &sign_zone;        # zone signieren
-}
-
-&file_entry;           # bearbeitet die file-eintraege der konfigurations-datei
-&mk_zone_conf;         # konfiguration zusammenfuegen
-&server_reload;        # server neu laden