Ниже скрипт выведетКак получить данные :: Diver для создания массивов?
$VAR1 = {
'tank' => {
'fs' => {
'fs2b' => undef,
'fs2a' => undef,
'fs2c' => undef
}
}
};
, где я действительно хотел хэш хэш массива, как этот
$VAR1 = {
'tank' => {
'fs' => [
'fs2a',
'fs2b',
'fs2c'
]
}
};
Вопрос
Как бы это быть сделано с Data::Diver
?
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
use Data::Diver 'DiveRef';
my @array = ("tank", "tank/fs", "tank/fs/fs2a", "tank/fs/fs2b", "tank/fs/fs2c");
my %hash =();
foreach my $element (@array) {
DiveRef(\%hash, \(split /\//, $element));
}
print Dumper \%hash;
(код предоставляется ysth в this answer на другой вопрос.)
Update
Массив в коде это просто пример. Реальный массив имеет ~ 100 элементов, поэтому решение не может быть жестко закодировано.
ли структура данных всегда будет HoHoA? – ikegami