Я довольно новичок в Perl и пытаюсь рекурсивно создать хеш и ничего не получится.Я пытался найти учебники для динамического построения хэшей, но все, что я мог найти, это вводные статьи о хэшах.Буду признателен, если вы укажете мне правильное направление или предложите хорошую статью / учебник.
Я пытаюсь прочитать из файла, который имеет пути в виде
one/two/three
four
five/six/seven/eight
, и я хочу создать хеш, например
VAR = {
one : {
two : {
three : ""
}
}
four : ""
five : {
six : {
seven : {
eight : ""
}
}
}
}
СценарийЯ использую в настоящее время:
my $finalhash = {};
my @input = <>;
sub constructHash {
my ($hashrf, $line) = @_;
@elements = split(/\//, $line);
if(@elements > 1) {
$hashrf->{shift @elements} = constructHash($hashrf->{$elements[0]}, @elements );
} else {
$hashrf->{shift @elements} = "";
}
return $hashrf;
}
foreach $lines (@input) {
$finalhash = constructHash($finalhash, $lines);
}