$rh_foo = {a=>undef, b=>'b_value', c=>undef, e=>'e_value'}; push @foo, { map {defined($_) ? $_ : ''} %{$rh_foo} }; foreach (keys %{$foo[0]}) { print "$_ => ${$foo[0]}{$_}\n"; }