TinyDNS-Reader

Parser for TinyDNS records.


Keywords
cpan, perl, tinydns
License
Artistic-1.0-Perl

Documentation

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.

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.

Steve