lib/DNS/Vi.pm
changeset 65 0f7e871c4672
parent 64 b61e5e1cc7ad
child 66 04e08079f218
equal deleted inserted replaced
64:b61e5e1cc7ad 65:0f7e871c4672
   203 
   203 
   204     my (@add, @del);
   204     my (@add, @del);
   205     push @add, "@{$_}{qw/label ttl rrtype data/}" foreach values %zone2;
   205     push @add, "@{$_}{qw/label ttl rrtype data/}" foreach values %zone2;
   206     push @del, "@{$_}{qw/label ttl rrtype data/}" foreach values %zone1;
   206     push @del, "@{$_}{qw/label ttl rrtype data/}" foreach values %zone1;
   207 
   207 
   208     return (\@add, \@del);
   208     return () if (!@add and !@del);
       
   209     return (add => \@add, del => \@del);
   209 }
   210 }
   210 
   211 
   211 sub edit {
   212 sub edit {
   212     my %arg = %{ pop @_ } if ref $_[-1] eq 'HASH';
   213     my %arg = %{ pop @_ } if ref $_[-1] eq 'HASH';
   213     my @zone = @_;
   214     my @zone = @_;
   221     return parse(do { local $/ = undef; <$tmp> }, { -skip => $arg{-skip} });
   222     return parse(do { local $/ = undef; <$tmp> }, { -skip => $arg{-skip} });
   222 }
   223 }
   223 
   224 
   224 sub show {
   225 sub show {
   225     my ($add, $del) = @_;
   226     my ($add, $del) = @_;
   226     my @out = ((map { " - $_ " } @$del), (map { " + $_ " } @$add),);
   227     my @out = ((map { " - $_ " } @$del), (map { " + $_ " } @$add));
   227     return @out;
   228     return @out;
   228 }
   229 }
   229 
   230 
   230 sub update {
   231 sub update {
   231     my %arg = %{ pop @_ } if ref $_[-1] eq 'HASH';
   232     my %arg = %{ pop @_ } if ref $_[-1] eq 'HASH';