TinyDNS::Reader::Merged - Read a TinyDNS file and merge records.
The TinyDNS::Reader module will allow you to parse a TinyDNS zonefile, into a number of distinct records, one for each line.
However there is no handling the case where you'd expect a single DNS value to have multiple values.
For example if you were to parse this file you would get two records:
db.example.com:1.2.3.4:300 db.example.com:10.20.30.40:300
On a purely record-by-record basis that is as-expected, however when you actually come to manipulate your DNS records you'd expect to have a single logical object with values something like this:
{ 'ttl' => '300', 'value' => [ '1.2.3.4', '10.20.30.40' ], 'name' => 'db.example.com', 'type' => 'A' },
This module takes care of that for you, by merging records which consist of identical "name" + "type" pairs.
Use it as a drop-in replacing for TinyDNS::Reader.
Constructor.
This module expects to be given a file parameter, pointing to a file which can be parsed, or a text parameter containing the text of the records to parse.
file
text
Parse the records and return a merged set.
The parsing is delegated to TinyDNS::Reader, so all supported record-types work as expected.
Steve Kemp <steve@steve.org.uk>
Copyright (C) 2014-2015 Steve Kemp <steve@steve.org.uk>.
This code was developed for an online Git-based DNS hosting solution, which can be found at:
https://dns-api.com/
This library is free software. You can modify and or distribute it under the same terms as Perl itself.
To install TinyDNS::Reader, copy and paste the appropriate command in to your terminal.
cpanm
cpanm TinyDNS::Reader
CPAN shell
perl -MCPAN -e shell install TinyDNS::Reader
For more information on module installation, please visit the detailed CPAN module installation guide.