From ae3398b11a4aa6f5b22ab51ea318e68d92e12931 Mon Sep 17 00:00:00 2001 From: "Eric A. Miller" Date: Sun, 25 Nov 2012 22:42:49 -0500 Subject: [PATCH] Replace map function with hash iteration for munge handling in _load_attr() and _show_attr --- Info.pm | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/Info.pm b/Info.pm index 4449146e..00d3dfa2 100644 --- a/Info.pm +++ b/Info.pm @@ -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 {