|
sortaddr.pl |
#!/usr/local/bin/perl -w $addressbook = "addressbook"; open(BOOK, "<$addressbook") || die "Cannot open $addressbook\n"; while (<BOOK>) { chomp; ($name, $address) = split /:/; $address{$name} = $address; } close(BOOK); foreach $name (sort keys %address) { printf "%-20s | %s\n", $name, $address{$name}; } |
Mit dem Operator keys werden alle Schlüssel
eines assoziativen Arrays (in undefinierter Reihenfolge)
als Liste extrahiert. Alternativ gibt es auch values,
das alle Werte zurückliefert.
| |
Der Operator sort sortiert eine Liste und liefert
sie wieder als neue(!) Liste zurück. Das Sortierkriterium
lässt sich beliebig bestimmen -- dazu später mehr.
| |
Wenn die Reihenfolge keine Rolle spielt, ist each
(liefert alle Paare) effizienter zum Durchlaufen:
while (($name, $address) = each %address) { ... }
|
Copyright © 2000 Ingo Melzer, in HTML konvertiert am 10.11.2000 |