foreach my $key ( grep ref($effective_settings->{$_}),
keys %$effective_settings )
{
- my $value = $effective_settings->{$key};
- if ( ref($value) eq 'ARRAY' ) {
- $effective_settings->{$key} = join(' ', @$value);
- } else {
- #XXX
- warn "serializing ". ref($value). " for table display not yet handled";
- }
+ $effective_settings->{$key} = _pretty( $effective_settings->{$key} );
}
%{$settingsref} = %$effective_settings;
foreach my $key ( grep ref($effective_settings->{$_}),
keys %$effective_settings )
{
- my $value = $effective_settings->{$key};
- if ( ref($value) eq 'ARRAY' ) {
- $effective_settings->{$key} = join(' ', @$value);
- } else {
- #XXX
- warn "serializing ". ref($value). " for table display not yet handled";
- }
+ $effective_settings->{$key} = _pretty( $effective_settings->{$key} );
}
%{$settingsref} = %$effective_settings;
}
+sub _pretty {
+ my $value = shift;
+ if ( ref($value) eq 'ARRAY' ) {
+ '['. join(' ', map { ref($_) ? _pretty($_) : $_ } @$value ). ']';
+ } elsif ( ref($value) eq 'HASH' ) {
+ '{'. join(', ',
+ map { my $v = $value->{$_};
+ "$_:". ( ref($v) ? _pretty($v) : $_ );
+ }
+ keys %$value
+ ). '}';
+ } else {
+ warn "serializing ". ref($value). " for table display not yet handled";
+ }
+}
+
sub export_getsettings_svc_forward {
my($self, $svc_forward, $settingsref, $defaultref ) = @_;