<< Ein- und Ausgabe | Inhalt | Schleifen >> |
Aussehen eines Arrays | Arrayvariable | der Zuweisungsoperator | der Zugriffsoperator | Hinzufügen/Löschen | Einlesen von <STDIN> | weitere Operatoren | das Array @ARGV |
Wir haben bisher skalare Daten kennengelernt. In Perl gibt es die Möglichkeit, mehrere skalare Daten (Zahlen oder Strings) in Form einer geordneten Liste zusammenfassen - sowas nennt man dann Array. No fear - it's easy!
Wie schon gesagt ein Array ist eine Liste von Werten. Die Anzahl der Werte eines Arrays fängt bei 0 (leeres Array - ein Array ohne Werte) an und kann beliebig groß werden. Die Darstellung eines Arrays im Programmcode geschieht mit Hilfe von runden Klammern. Die einzelnen Werte (falls mehr als einer existiert) werden durch Kommas getrennt.
Und das fällt auf:
Das ist auch möglich:
Analog zu den skalaren Daten und Variablen können Arrays auch Variablen zugeordnet werden. Die skalaren Variablen werden mit einem $ eingeleitet - bei Arrayvariablen ist das ein @. Für die Namensgebung eines Arrays gelten die gleichen Regeln wie für Variablen: Buchstaben, Ziffern und _ sind erlaubt; das erste Zeichen nach dem @ muss ein Buchstabe sein.
Der Zuweisungsoperator = weist einer Arrayvariablen ein Array zu.
Besteht ein Array aus lauter Variablen, so kann dieses Array auch als Arrayvariable betrachtet werden:
Noch was Interessantes:
Der Zugriffsoperator [] ermöglicht es uns, auf einzelne Elemente eines Arrays zuzugreifen. Dabei wird innerhalb der Klammern eine ganze Zahl beginnend von 0 angegeben. Die angegebene Zahl gibt dann die Stelle an, auf die wir zugreifen:
Was ist wichtig:
Der Zugriffsoperator kann aber noch mehr: Er kann auch auf mehrere Element (Ausschnitt eines Arrays) zugreifen:
Noch etwas spezielles: Mit $# erhält man den Indexwert des letzten Elements.
Mit Hilfe der Operatoren push() und unshift() bzw. pop() und shift() können von einem Array Werte hinzugefügt bzw. gelöscht werden.
Unter Perl geht alles schneller zu programmieren: Auch das Einlesen eines Arrays von der Standardeingabe:
Es gibt noch weitere Operatoren, die auf arrays angewendet werden können. Hier sind noch einige kurz erwähnt:
Operator | Beschreibung | Beispiel |
sort() | Eingabe: Array; Ausgabe: ein neues Array mit den sortierten Werten des eingegebenen Arrays | @sorted=sort(@unsorted); |
reverse() | dreht die Reienfolge der Elemente im Array um | @sorted=sort(@unsorted); @revSort=reverse(@sorted); |
chop() | löscht aus jedem Element des Arrays den letzten Eintrag | chop(@eingaben); |
print() | gibt die Elemente eines Arrays aus | print @Studenten; print "@Studenten"; |
Bemerkung: Der sort-Operator sortiert ein Array immer auf Stringbasis - auch wenn ein reines Zahlenarray vorliegt! Um Perl dazu zu bringen muss man im sagen, dass es Zahlen sortieren soll:
liefert:
Man kann einem Perlprogramm Parameter übergeben! Diese gibt man einfach nach dem Programmnamen getrennt durch ein Leerzeichen ein:
Perl speichert die Übergabeparameter in dem Array @ARGV. Man kann im Programm selbst auf dieses Array ganz normal zugreifen. Es zu verändern, ist aber nicht ratsam:
Als Ausgabe haben wir:
Aussehen eines Arrays | Arrayvariable | der Zuweisungsoperator | der Zugriffsoperator | Hinzufügen/Löschen | Einlesen von <STDIN> | weitere Operatoren | das Array @ARGV |
<< Ein- und Ausgabe | Inhalt | Schleifen >> |
© 2001-2003 Perl, Lehrstuhl Mathe II, Uni Bayreuth |