#!/usr/bin/env perl
use Net::DNS;
use Date::Format;
# Config
my $DNS = "127.0.0.1";
my $ZONEPATH = "/var/lib/named/master";
# Search templates
my %zones = ();
@templates = <$ZONEPATH/*.rev.auto>;
# Fill data on zones hash
foreach (@templates) {
my @lt = localtime(time);
$_ =~ /$ZONEPATH\/([0-9\.]+)rev\.auto/;
# Calc serial
my $serial = strftime('%Y%m%d00', @lt);
# Open zone template file
open ZONETPL, "<", $_;
my @zone = <ZONETPL>;
close(ZONETPL);
# Fill serial
foreach (@zone) {
chomp;
$_ =~ s/\%\%SERIAL\%\%/$serial/;
}
# Assign data
$zones{$1} = [ @zone ];
}
for my $key ( keys %zones ) {
$a = $zones{$key};
foreach (@$a) {
print "$key:$_\n";
}
}