|
sortaddr3.pl |
#!/usr/local/bin/perl -w $addressbook = "addressbook"; open(BOOK, "<$addressbook") || die "Cannot open $addressbook\n"; @addresses = (); 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 © 1996, 1998, 1999, 2000 Andreas Borchert, in HTML konvertiert am 07.02.2000 |