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