|
sortaddr4.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 my $adr (sort { $a->[0] cmp $b->[0] } @addresses) { ($lastname, $name, $address) = @{$adr}; printf "%-20s | %s\n", $name, $address; } |
Wenn nicht ein einzelnes Element hinter dem Zeiger
selektiert werden soll, sondern die gesamte Liste,
dann geht dies mit @{$address}.
| |
Alternativ wäre hier auch @$address akzeptiert
worden -- dennoch ist die andere Variante lesbarer
und in komplizierteren Fällen ohne Mehrdeutigkeiten.
|
Copyright © 2000 Ingo Melzer, in HTML konvertiert am 10.11.2000 |