我有一个包含子哈希的哈希,我想分别抽象该子哈希并从中创建一个数组,
哈希看起来像
'a1' => '1',
'a2' => '2'.
'Def' => [
'd' => 'x',
'e' => 'y'
]
我需要为“ Def”创建一个单独的哈希。并仅将“ Def”打印为数组
从阅读您的问题很难确切地知道您要实现的目标,但是我对此的解释是,您希望提取分配给def的匿名哈希并将其存储在另一个哈希中。然后,您想将此哈希打印为数组。我还提供了一些示例,仅打印哈希值的键。
use strict;
use Data::Dumper;
my %first_hash = (
a1 => '1',
a2 => '2',
def => {
d => 'x',
e => 'y'
}
);
my %second_hash = %{$first_hash{'def'}};
my @full_array = %second_hash;
my @keys_array = keys %second_hash;
my @values_array = values %second_hash;
print Dumper (\%first_hash);
print Dumper (\%second_hash);
print "full array: ", join(' ',@full_array), "\n";
print "keys array: ", join(' ',@keys_array), "\n";
print "values array: ", join(' ',@values_array), "\n";
输出
$VAR1 = {
'a2' => '2',
'def' => {
'e' => 'y',
'd' => 'x'
},
'a1' => '1'
};
$VAR1 = {
'e' => 'y',
'd' => 'x'
};
full array: e y d x
keys array: e d
values array: y x
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句