=head1 NAME

DNS::ZoneParse - Perl extension for parsing and manipulating DNS Zone
Files.

=head1 SYNOPSIS

	use C<DNS::ZoneParse>;

	my $dnsfile = C<DNS::ZoneParse>->new();

	open (FH, "/path/to/dns/zonefile.db");
	while (<FH>) { $zonefile .= $_ }
	close (FH);

	$dnsfile->Prepare(\$zonefile);

	print $dnsfile->{Zone}->{SOA}->{serial};
	$dnsfile->newSerial();
	print $dnsfile->{Zone}->{SOA}->{serial};
	
	print $dnsfile->PrintZone();

=head1 DESCRIPTION

This module will parse a Zone File and put all the Resource Records 
(RRs) into an anonymous hash structure. At the moment, the following 
types of RRs are supported: SOA, NS, MX, A, CNAME, TXT, PTR. It could
be useful for maintaining DNS zones, or for transferring DNS zones to
other servers. If you want to generate an XML-friendly version of your
zone files, it is easy to use XML::Simple with this module once you
have parsed the zonefile.

The Prepare method scans the DNS zonefile - removes comments and
seperates the file into it's constituent records. It then parses each
record and stores the objects in the $object->{Zone} hash. Using
Data::Dumper on that object will give you a better idea of what this
looks like than I can describe.

You can access the objects in the $object->{Zone} hash to
add\remove\modify RRs directly, and then you can call
$object->PrintZone(), and it will return and create a new Zone File
in the $object->{ZoneFile} string.

I will update this documentation - it's pretty sparse at the moment,
but many more features coming...
	
=head2 EXPORT

None by default.


=head1 AUTHOR

S. Flack : perl@simonflack.com

=head1 SEE ALSO

DNS::ZoneFile

=cut
