我有一个包含子哈希的哈希,我想分别抽象该子哈希并从中创建一个数组,
哈希看起来像
'a1' => '1',
'a2' => '2'.
'Def' => [
'd' => 'x',
'e' => 'y'
]
我需要为'Def'制作一个单独的哈希。并仅打印'Def'作为数组
答案 0 :(得分:0)
下面你会找到答案。
print "@{$a{'Def'}}";
答案 1 :(得分:0)
很难从阅读你的问题到确切地知道你想要实现的目标,但我对它的解释是你想要提取分配给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