Ich muss quasi Datensätze den Dateien zuordnen. In welche Datei welcher Datensatz kommt weiß ich nach der Vorverarbeitung, weil dann erst klar ist, wieviele Dateien es überhaupt werden.
Und erst später nach der Ausgabe der Dateien (wenn die Dateinamen auch feststehen, die sich auch wiederum am Inhalt orientieren den ich erst nach der Vorverarbeitung kenne) muss ich quasi die Datensätze diesen Dateien wieder zuordnen.
Aufgrund der Daten ist es die schnellste Lösung, kein Array zu verwenden, weil ich im Hash auch nicht nummerische Werte als Key verwenden kann. Sonst müsste ich eine zusätzliche zuordnung von den Keys zu den Indizes im Array machen, das möchte ich mir sparen.
In der tatsächlichen Anwendung ist auch der zu inkrementierende Zähler tatsächlich die 5. Dimension des Hash und nicht die zweite.
Hab hier mal gefragt, weil ja manchmal so Tricks und Kurzschreibungen existieren, mit denen man sich viel Syntax sparen kann.
Denn in diesem Fall sieht das schon heftig aus, wenn Du das hier schreibst:
$zuordnung{$a}{$b}{$c}{$d}{(keys %{$zuordnung{$a}{$b}{$c}{$d}}) + 1} = $xyz;
Die Variablen lauten natürlich auch nicht $a, $b, $c und $d sondern sind erheblich länger :)
$d an sich ist sogar nochmal ein anderer vierdimensionaler Hash.
Da werden Code und Klammern trotz Blanks und Zeilenumbrüche schon mal schnell unübersichtlich und man fragt sich auch, ob das wirklich perlig ist :)
Danke Dir
10 print "Hallo"
20 goto 10