#!/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 = ; 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"; } }