Thread Array of Hashes aus Datei anlegen (53 answers)
Opened by Flips87 at 2020-02-04 11:19

Linuxer
 2020-02-04 15:59
#191275 #191275
User since
2006-01-27
3870 Artikel
HausmeisterIn

user image
Hi,

Du füllst zwar das Array @zeilen, aber dann packst Du das nicht mehr an.

Eine Möglichkeit wäre, die Datei nicht nochmal einzulesen, sondern über das Array zu iterieren und die Aktion "split and hash" auf die Array-Elemente anzuwenden. Das aktuelle Array-Element wird dann durch eine Referenz auf den Hash ersetzt.

Fertig wäre ein Array-of-Hashes.

Den Hash würde ich dafür nicht zentral definieren, sondern innerhalb der Schleife; so bleibt sein Geltungsbereich klein und für jedes Element des Array hast Du einen neuen frischen Hash.

Code (perl): (dl )
1
2
3
4
5
for my $zeile ( @zeilen ) {
   my %hash;
   # splitte und fuelle Hash
   # Ersetze dann den Wert von $zeile mit einer Referenz auf den Hash
}


Perls Doku zum Thema Referenzen und Datenstrukturen:
Perldoc:perlreftut
Perldoc:perldsc

edit: Tippfehler: s/\$hash/%hash/;
Last edited: 2020-02-04 17:08:26 +0100 (CET)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Array of Hashes aus Datei anlegen