diff -r 271dfe27e1d3 -r 286a373ab86b lib/DNS/Vi.pm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lib/DNS/Vi.pm Thu May 22 23:34:23 2014 +0200 @@ -0,0 +1,175 @@ +use 5.010; +use strict; +use warnings; +use if $ENV{DEBUG}//'' eq 'vidns' => 'Smart::Comments'; +use Digest::SHA qw(sha512_hex); + +use base 'Exporter'; + +our @EXPORT = qw(ttl2h h2ttl parse delta); +our @EXPORT_OK = (); + +sub parse { + my $data = join '', @_; + my @lines = split /\n/, $data; + + my @zone; + my ($origin, $ttl, $last_label, $soa_seen); + + foreach (@lines) { + s{;.*$}{}; + given ($_) { + when (m{^\s*$}) { next } + when (m{^\s*\$ORIGIN\s+(\S+)}) { $origin = $1 } + when (m{^\s*\$TTL\s+(\S+)}) { $ttl = $1 } + when ( + m{^(?