Benutzer-Werkzeuge

Webseiten-Werkzeuge


perl_array_of_hashes

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Letzte Überarbeitung Beide Seiten der Revision
perl_array_of_hashes [2018/12/20 10:23]
admin [Erstellung eines "Array of Hashes"]
perl_array_of_hashes [2018/12/20 10:27]
admin [Generation eines Array of Hashes]
Zeile 32: Zeile 32:
 Einlesen einer Datei im Format "​husband=fred friend=barney"​ mit einer der folgenden Schleifen: Einlesen einer Datei im Format "​husband=fred friend=barney"​ mit einer der folgenden Schleifen:
  
-<​code ​bash>+<​code ​perl>
 while ( <> ) { while ( <> ) {
     $rec = {};     $rec = {};
Zeile 48: Zeile 48:
  
 Innerhalb einer Subroutine '​get_next_pair',​ das eine key/value Paar liefert. Innerhalb einer Subroutine '​get_next_pair',​ das eine key/value Paar liefert.
-<​code ​bash>+<​code ​perl>
 while ( @fields = get_next_pair() ) { while ( @fields = get_next_pair() ) {
     push @AoH, { @fields };     push @AoH, { @fields };
Zeile 59: Zeile 59:
  
 Anhängen neuer Einträge an ein existierendes hash: Anhängen neuer Einträge an ein existierendes hash:
-<​code ​bash>+<​code ​perl>
 $AoH[0]{pet} = "​dino";​ $AoH[0]{pet} = "​dino";​
 $AoH[2]{pet} = "​santa'​s little helper";​ $AoH[2]{pet} = "​santa'​s little helper";​
 </​code>​ </​code>​
  
 +===== Adressierung und Ausgabe eines Array of Hashes =====
 +
 +<code perl>
 +$AoH[0]{husband} = "​fred";​ # Setzen eines expliziten key/value Paars
 +To capitalize the husband of the second array, apply a substitution:​
 +$AoH[1]{husband} =~ s/​(\w)/​\u$1/;​
 +</​code>​
 +
 +Ausgabe aller Daten:
 +<code perl>
 +for $href ( @AoH ) {
 +    print "{ ";
 +    for $role ( keys %$href ) {
 +         print "​$role=$href->​{$role} ";
 +    }
 +    print "​}\n";​
 +}
 +
 +# mit indices:
 +
 +for $i ( 0 .. $#AoH ) {
 +    print "$i is { ";
 +    for $role ( keys %{ $AoH[$i] } ) {
 +         print "​$role=$AoH[$i]{$role} ";
 +    }
 +    print "​}\n";​
 +}
 +</​code>​
  
 ===== Quellen ===== ===== Quellen =====
   * O'​REILLY - Programming Perl (https://​docstore.mik.ua/​orelly/​perl4/​prog/​ch09_03.htm)   * O'​REILLY - Programming Perl (https://​docstore.mik.ua/​orelly/​perl4/​prog/​ch09_03.htm)
perl_array_of_hashes.txt · Zuletzt geändert: 2018/12/20 10:28 von admin