TinyDNS::Reader
This repository contains the source for the perl module TinyDNS::Reader
, TinyDNS::Reader::Merged
, and TinyDNS::Record
Together the three modules allow the reading and parsing of tinydns data-files, like so:
my $reader = TinyDNS::Reader->new( file => "zones/steve.co" );
my $records = $reader->parse();
foreach my $record ( @$records )
{
print $record;
}
Further details are available in the test-cases, or the POD.
Compatibility Notes
This module was put together for the Git-based DNS hosting service, and it wasn't initially planned to be added to CPAN, because the name implies it can parse real/genuine/complete TinyDNS records, however that is not the case:
- We ignore SOA records.
- Our TXT record (which should have a
:
-prefix) is non-standard/weird.- We use
Tname:"value goes here"[:ttl]
instead. Which is cleaner.
- We use
That said there is actually no module available on CPAN for reading TinyDNS files, just for generating them, so despite the compatibility niggles I've uploaded it regardless.
Utility Script
Contained within the distribution is a simple dump-zones
script, which will allow you to see how a file would be parsed by the DNS-hosting service.
Usage is as simple as:
./dump-records file1 file2 .. fileN
The companion script uses the merged-version of the TinyDNS::Reader
which collapses multiple records with the same name into array-versions of the results. It is probably the module you should prefer.