Eine Liste von Listen

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

sortaddr3.pl
#!/usr/local/bin/perl

use strict;
use warnings;
use IO::File;

my $addressbook = "addressbook";
my $book = new IO::File $addressbook
   or die "Cannot open $addressbook: $!\n";
my @addresses;
while (<$book>) {
   chomp;
   my @fields = split /:/;
   push(@addresses, \@fields);
}
$book->close;

foreach my $address
      (sort { $a->[0] cmp $b->[0] } @addresses) {
   printf "%-20s | %s\n", $address->[0], $address->[1];
}

*Durch das Voranstellen des \ wird die Adresse des darauffolgenden Ausdruckes genommen. Entsprechend liefert \@fields einen Zeiger auf die Liste @fields.
 
*In der foreach-Schleife ist $address jeweils ein Zeiger auf eine Liste mit zwei Elementen (Name und Adresse). Mit -> wird der Zeiger dereferenziert und ein Zugriff auf eines der Elemente ist möglich.
 

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 1996 - 2003 Andreas Borchert, in HTML konvertiert am 01.10.2003