私は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);
}