|
sortaddr3.pl |
#!/usr/local/bin/perl -w my $addressbook = "addressbook"; open(BOOK, "<$addressbook") || die "Cannot open $addressbook\n"; my @addresses = (); my ($name, $address, $lastname); while (<BOOK>) { chomp; ($name, $address) = split /:/; ($lastname = $name) =~ s/.*\s//; push(@addresses, [$lastname, $name, $address]); } close(BOOK); foreach $address (sort { $a->[0] cmp $b->[0] } @addresses) { printf "%-20s | %s\n", $address->[1], $address->[2]; } |
Wenn eine Liste in [...] statt in (...) eingeklammert
ist, wird ein Zeiger auf die neu im Speicher angelegte Liste
zurückgeliefert.
| |
In der foreach-Schleife ist $address jeweils ein
Zeiger auf eine Liste mit drei Elementen (für Nachname,
ganzer Name und Adresse). Mit -> wird der Zeiger dereferenziert
und ein Zugriff auf eines der Elemente ist möglich.
|
Copyright © 2000 Ingo Melzer, in HTML konvertiert am 10.11.2000 |