#!/usr/bin/perl

# Converts a forward:
#     blah IN A 192.168.1.1
# to a reverse in.addr.arpa entry
# pass in STDIN, outputs to STDOUT

use strict;

my $domain;

while( my $line = <STDIN> ){
    if( $line =~ /^\@\s+IN\s+SOA\s+([\w\._]+)\s+([\w\._]+)\s+\(\s*$/ ){
	$domain = $1;
	print $line;
    }elsif( $line =~ /^([\w_\.\@]+)\s+IN\s+A\s+(.+)$/ ){
	my $name = $1;
	my $addr = $2;
	next if $name eq "@";
	if( $addr =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)\.?$/ ){

	    print "$4.$3.$2\t\tIN\tPTR\t$name.$domain\n";
	    }
    }else{
	print $line;
    }
}
