Replace map function with hash iteration for munge handling in _load_attr() and _show_attr

This commit is contained in:
Eric A. Miller
2012-11-25 22:42:49 -05:00
parent e97693d12d
commit ae3398b11a

17
Info.pm
View File

@@ -3894,7 +3894,13 @@ sub _load_attr {
# raw data
if ( defined $munge->{$attr} && !$raw ) {
my $subref = $munge->{$attr};
my %munged = map { $_ => &$subref( $localstore->{$_} ) } keys %$localstore;
my %munged;
foreach my $key ( keys %$localstore ) {
my $value = $localstore->{$key};
next unless $key;
my $munged_value = &$subref($value);
$munged{$key} = $munged_value;
}
return \%munged;
}
return $localstore;
@@ -3923,8 +3929,15 @@ sub _show_attr {
my $munge = $self->munge();
if ( defined $munge->{$attr} && !$raw ) {
my $localstore = $store->{$attr};
my $subref = $munge->{$attr};
my %munged = map { $_ => &$subref( $store->{$attr}{$_} ) } keys $store->{$attr};
my %munged;
foreach my $key ( keys %$localstore ) {
my $value = $localstore->{$key};
next unless $key;
my $munged_value = &$subref($value);
$munged{$key} = $munged_value;
}
return \%munged;
}
else {