repr: New utility function to make it easier to dump values
I find Data::Dumper to be awkward to use. This function wraps it so that I don't have to keep looking up the perldoc.
This commit is contained in:
parent
4f369a3b0b
commit
622abfca2c
1 changed files with 9 additions and 2 deletions
11
ddclient.in
11
ddclient.in
|
@ -159,6 +159,14 @@ my $daemon;
|
||||||
# Control how many times warning message logged for invalid IP addresses
|
# Control how many times warning message logged for invalid IP addresses
|
||||||
my (%warned_ip, %warned_ipv4, %warned_ipv6);
|
my (%warned_ip, %warned_ipv4, %warned_ipv6);
|
||||||
|
|
||||||
|
sub repr {
|
||||||
|
my $vals = @_ % 2 ? [shift] : [];
|
||||||
|
my %opts = @_;
|
||||||
|
my $d = Data::Dumper->new($vals)->Sortkeys(1)->Terse(!exists($opts{Names}))->Useqq(1);
|
||||||
|
$d->$_($opts{$_}) for keys(%opts);
|
||||||
|
return $d->Dump();
|
||||||
|
}
|
||||||
|
|
||||||
sub T_ANY { 'any' }
|
sub T_ANY { 'any' }
|
||||||
sub T_STRING { 'string' }
|
sub T_STRING { 'string' }
|
||||||
sub T_EMAIL { 'e-mail address' }
|
sub T_EMAIL { 'e-mail address' }
|
||||||
|
@ -3359,10 +3367,9 @@ sub group_hosts_by {
|
||||||
@attrs = sort(keys(%attrs));
|
@attrs = sort(keys(%attrs));
|
||||||
my %groups;
|
my %groups;
|
||||||
my %cfgs;
|
my %cfgs;
|
||||||
my $d = Data::Dumper->new([])->Indent(0)->Sortkeys(1)->Terse(1)->Useqq(1);
|
|
||||||
for my $h (@$hosts) {
|
for my $h (@$hosts) {
|
||||||
my %cfg = map({ ($_ => $config{$h}{$_}); } grep(exists($config{$h}{$_}), @attrs));
|
my %cfg = map({ ($_ => $config{$h}{$_}); } grep(exists($config{$h}{$_}), @attrs));
|
||||||
my $sig = $d->Reset()->Values([\%cfg])->Dump();
|
my $sig = repr(\%cfg, Indent => 0);
|
||||||
push(@{$groups{$sig}}, $h);
|
push(@{$groups{$sig}}, $h);
|
||||||
$cfgs{$sig} = \%cfg;
|
$cfgs{$sig} = \%cfg;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue