#!/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) {
$_ =~ s/\%\%SERIAL\%\%/$serial/;
}
# Assign data
$zones{$1} = @zone;
}
for my $key ( keys %zones ) {
foreach $a ($zones{$key}) {
print "$key:$a";
}
}