Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
perl_array_of_hashes [2018/12/20 10:23] admin [Erstellung eines "Array of Hashes"] |
perl_array_of_hashes [2018/12/20 10:28] admin [Quellen] |
||
---|---|---|---|
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 ===== | ||
- | ===== Quellen ===== | + | <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 ====== | ||
* 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) |