Perl: Array von Hashes

S

Sisko78

Jungspund
Hallo, ich komme nicht weiter. Ich will in einem Array Hashes speichern und in einer Ausgabefunktion darauf zugreifen. Folgendermaßen bin ich vorgegangen:

Folgende Schleife wird für jeden Monat in einem Logfile durchlaufen:
---
Hash wird gefüllt.
Neuer Monat -> Referenz auf Hash wird mit push an Array angehängt
%Hash = ();
---

Wenn ich die Hashes aber jetzt (nachdem für jeden Monat im Logfile ein Hash in den Array geschrieben wurde) aus dem Array herausgreife und dereferenziere, habe ich unsinn drinstehen. Ist das so nicht der richtige Weg?
 
Zuletzt bearbeitet:
Hallo

Ohne entsprechende Codezeilen kann ich nicht viel zu deinem Fehler sagen.

Du musst dir vor Augen führen, dass dein Array kein Hash, sondern Referenzen auf Hash enthält, die du erst dereferenzieren musst, bevor du die Werte ausgeben kannst.

Code:
# normales Hash
%h=( 1=> a, 2=> b);
 print "$_ $h{$_} \n" for keys %h;

# Hash-Referenz
$h_ref={ 1=> a, 2=> b};
 print "$_ $h_ref->{$_} \n" for keys %$h_ref;

Gruß Wolfgang
 
Code:
foreach my $element (@array) {
  foreach my $element2 (@{ $element->{key} }) {
     ...
  }
}
 
Entschuldigung dafür, dass ich mich nicht rückgemeldet hatte. Vielen Dank für die Hinweise, ich hatte es dann auch hinbekommen.
 

Ähnliche Themen

Perl: Key im Hash via Referenz setzen

Probs mit Perl script

rsnapshot und ein Rechteproblem?

grep und Variablen

[HowTo] Debian Installation mit Installer über SSH

Zurück
Oben