Ich bin bei Perl ziemlich neu und versuche, einen Hash rekursiv zu erstellen und nichts zu erreichen. Ich habe versucht, nach Tutorials zu suchen, um Hashes dynamisch zu erstellen, aber alles, was ich finden konnte, waren einführende Artikel über Hashes. Ich wäre dankbar, wenn Sie mich in die richtige Richtung weisen oder einen schönen Artikel / Tutorial vorschlagen.
Ich versuche, von einer Datei zu lesen, die Pfade in Form von
hat %Vor%und ich möchte einen Hash wie
erstellen %Vor%Das Skript, das ich momentan verwende, ist:
%Vor%Das ist ein bisschen weit hergeholt, aber es funktioniert:
%Vor%Es beruht auf Autovivification, die zugegebenermaßen für Anfänger etwas fortgeschritten ist.
Was wahrscheinlich eine Antwort auf Ihre Frage sein könnte, ist, dass Sie nach leeren Strings in den Blättern fragen, die einen anderen "Typ" als die Hashes der Knoten haben und eine andere Dereferenzierung erfordern. p>
Data::Diver
deckt diese Nische so gut ab, dass die Leute das Rad nicht neu erfinden sollten.
Ich habe Ihren Code ausgeführt und ein paar Probleme gefunden:
@elements
eine Zeichenkette, aber beim rekursiven Aufruf innerhalb übergeben Sie ein Array von constructHash()
Versuchen Sie es.
%Vor%Erzeugt
%Vor%Denken Sie daran, Perl-Hashes sind nicht geordnet.
Tags und Links perl recursion hash perl-data-structures