




Dieser Anhang enthält eine kurze alphabetisch geordnete Referenz der vordefinierten Perl-Funktionen. Wenn Sie eine Funktion suchen, die es nicht gibt, verzagen Sie nicht. Ihre Chancen stehen trotzdem gut, dass irgend jemand ein Modul geschrieben hat, das eine Funktion, wie Sie sie benötigen, enthält. Eine Liste der wichtigsten verfügbaren Perl-Module finden Sie in Anhang B.
Beachten Sie, dass nicht alle Funktionen, die in diesem Anhang aufgeführt sind, von allen Perl-Versionen unterstützt werden. Dem Kapitel 18, »Perl und das Betriebssystem«, können Sie entnehmen, welche Funktionen für Windows- oder Macintosh-Rechner nicht zur Verfügung stehen. Als ultimative Referenz sollten Sie die Dokumentation zu Ihrem Perl-Port zu Rate ziehen.
  Weitere Informationen zu den jeweiligen Funktionen finden Sie in der perlfunc-
Manpage. Wie alle Perl-Dokumentationen können Sie diese Manpage unter Unix mit 
dem Befehl man, unter Unix und Windows mit dem Befehl perldoc (perldoc perlfunc 
zeigt die ganze Liste und perldoc -f die einzelnen Funktionen) und auf dem Mac mit 
der Shuck-Anwendung aufrufen.
  Die gesamte Perl-Dokumentation ist auch über das Web unter http://www.perl.com/
CPAN-local/doc/manual/html/pod/ abrufbar.
  Neben den Perl-spezifischen Manpages verweist dieser Anhang auch häufig auf 
andere Unix-Manpages (vornehmlich deshalb, weil Perl oft von Unix-Features 
Gebrauch macht). Die Unix-Manpages sind in numerierten Kapiteln zusammengefaßt. 
Wenn Sie auf ein Element stoßen, hinter dem eine Zahl in Klammern steht, weist 
diese Zahl darauf, dass dieses Element in dem entsprechenden Kapitel der Manpages 
beschrieben ist. So finden Sie zum Beispiel fseek(2) in Kapitel 2 des Unix-
Handbuches. Um die Funktion fseek in Kapitel 2 nachzuschlagen, würden Sie also 
folgenden Unix-Befehl eingeben:
man 2 fseek
Auf manchen Systemen lautet der Befehl ein wenig anders:
man -s 2 fseek
  Der Befehl man man zeigt Ihnen Hilfe zu dem Befehl man an.
Hier finden Sie die Perl-Funktionen in alphabetischer Reihenfolge.
abs WERT
  Liefert den absoluten Wert von WERT zurück. WERT kann eine Zahl (wie -7) oder ein 
Ausdruck sein.
accept NEUERSOCKET, GENERISCHERSOCKET
  accept wird verwendet, um eine einkommende Socket-Verbindung anzunehmen. 
Wenn eine Verbindung hergestellt wurde, wird die gepackte Adresse zurückgeliefert. 
Andernfalls lautet der Rückgabewert falsch. Entspricht dem Systemaufruf accept(2).
alarm SEKUNDEN
  Die alarm-Funktion sendet ein SIGALRM an das Programm, nachdem die in SEKUNDEN 
spezifizierten Sekunden verstrichen sind. Es kann nur ein Alarm aktiv sein. Wenn Sie 
diese Funktion aufrufen, während noch ein anderer Alarm läuft, wird der laufende 
Alarm durch den aktuelleren Aufruf ersetzt. Wenn Sie die Funktion mit dem 
Argument 0 aufrufen, wird der aktuelle Alarm unterbrochen, ohne dass ein neuer 
gestartet wird. Wird für SEKUNDEN keine Zahl angegeben, wird der Wert in $_ 
verwendet.
atan2 Y, X
  Liefert den Arkustangens von X/Y in dem Bereich von -p bis p zurück. Weitere 
Funktionen für die Tangensoperationen gibt es in den Modulen POSIX und 
Math::Trig.
bind SOCKET, NAME
  Die Funktion bind bindet eine Netzwerkadresse an einen Socket. NAME sollte dabei die 
gepackte Adresse für verwendete Art von Socket enthalten. Ist die Funktion bind 
erfolgreich, wird wahr zurückgeliefert, andernfalls falsch. Entspricht dem Systemaufruf 
bind.
binmode DATEIHANDLE
  binmode übernimmt als Argument ein Datei-Handle und gibt an, dass die Daten im 
Binärformat (und nicht im ASCII-Format) in das Datei-Handle geschrieben 
(beziehungsweise daraus gelesen) werden sollen. Unter Unix hat diese Funktion keine 
Auswirkung, aber für MS-DOS und andere archaische Plattformen ist sie wichtig. Die 
Funktion sollte nach dem Öffnen einer Datei und vor irgendwelchen Eingabe-/
Ausgabeoperationen auf diese Datei aufgerufen werden.
bless REFERENZ, KLASSENNAME
  bless wird in der objektorientierten Perl-Programmierung verwendet, um das, was 
mit REFERENZ referenziert wird, dem Paket KLASSENNAME zuzuweisen. Wird 
KLASSENNAME fortgelassen, wird REFERENZ dem aktuellen Paket zugewiesen. bless 
liefert die Referenz zurück, die mit bless zugewiesen wird. Detailliertere 
Informationen finden Sie in der perlobj-Manpage.
caller AUSDRUCK
caller
  caller liefert den Kontext des aktuellen Subroutinenaufrufs zurück. In einem skalaren 
Kontext liefert caller den Namen des Pakets, aus dem die Subroutine aufgerufen 
wurde, in einem Listenkontext liefert sie den Paketnamen, den Dateinamen des 
Programms und die Zeilennummer des Aufrufs. Wenn ein AUSDRUCK mit angegeben 
wird, liefert caller zusätzliche Informationen zur Verfolgung des Stacks. AUSDRUCK 
gibt an, um wie viele Aufruf-Frames der Stack, ausgehend vom aktuellen Frame, 
zurückgegangen werden muss. Wird AUSDRUCK angegeben, wird die folgende Liste an 
Werten zurückgegeben:
($package, $file, $line, $subname, $hasargs, $wantarray) = caller(bel_funk);
chdir AUSDRUCK
  chdir übernimmt einen Ausdruck als Argument und versucht, das aktuelle Verzeichnis 
auf das im Ausdruck angegebene Verzeichnis zu setzen. Wird kein Argument 
mitgeliefert, versucht die Funktion, in das Home-Verzeichnis des aktuellen Benutzers 
zu wechseln.
chmod LISTE
  chmod dient dazu, die Zugriffsberechtigungen für die im Argument LISTE aufgeführten 
Dateien zu ändern. Das erste Element in LISTE muss - in Oktalnotation - der 
numerische Modus für die Dateien sein.  Er sollte auch das SUID-Bit mit einschließen. 
Sehen Sie hier ein Beispiel für die Anwendung von chmod:
chmod 0755, @dateien;
Beachten Sie, dass das erste Element der Liste nicht in Anführungszeichen steht. Es ist einfach nur eine Zahl. Weitere Informationen zu den Datei-Zugriffsrechten finden Sie in der chmod-Manpage.
chomp VARIABLE
chomp LISTE
chomp
  chomp ist die sichere Version von chop, die als nächstes beschrieben wird.  Die 
Funktion entfernt alle Zeilenenden, die mit $/ übereinstimmen (die Variable, die das 
Eingabedatensatz-Trennzeichen, normalerweise ein Neue-Zeile-Zeichen, enthält). 
Wenn diese Funktion im Absatzmodus aufgerufen wird, werden alle angehängten 
Neue-Zeile-Zeichen aus dem String entfernt.
chop VARIABLE
chop LISTE
chop
  chop wird verwendet, um das letzte Zeichen in einem String zu entfernen. Ihre 
ursprüngliche Aufgabe bestand darin, das Zeilenvorschubzeichen am Ende einer Zeile 
möglichst problemlos zu entfernen (wenn Sie eine Datei Zeile für Zeile bearbeiten, ist 
es oft sinnvoll, das Zeilenvorschubzeichen aus den Zeilen zu entfernen, bevor Sie mit 
der Arbeit beginnen). Das Problem mit chop ist, dass die Funktion jedes letzte Zeichen 
vom String entfernt. Ist das letzte Zeichen ein Zeilenvorschubzeichen - wunderbar. 
Aber wenn nicht, verlieren Sie das letzte Zeichen, das durchaus eine Bedeutung haben 
kann.
while (<EINGABEDATEI>) {
  #    Beachten Sie, dass in diesem Beispiel $_ als Argument für die 
  #    chop-Funktion verwendet wird.
  chop;
  push (@names);
}
  Wird chop ohne Argument verwendet, wird das letzte Zeichen von $_ entfernt. Wird 
eine Liste übergeben, wird aus allen Elementen der Liste das jeweils letzte Zeichen 
entfernt.
chown LISTE
  chown wird verwendet, um die Besitzrechte der Dateien, die in LISTE stehen, für 
Benutzer und Gruppe zu setzen. Zurückgeliefert wird die Anzahl der Dateien, für die 
die Besitzrechte erfolgreich geändert wurden. Die ersten beiden Elemente von LISTE 
müssen die numerische UID und GID des Benutzers und der Gruppe sein, die Besitzer 
der Dateien werden. Normalerweise kann nur der root-Benutzer die Besitzrechte von 
Dateien in einem System ändern.
chr ZAHL
  Die Funktion chr liefert das Zeichen aus der ASCII-Tabelle zurück, das dem 
Zahlencode entspricht, der der Funktion übergeben wurde. So liefert zum Beispiel 
chr(80) ein R zurück. Mit der Funktion pack können mehrere Zeichen gleichzeitig 
konvertiert werden.
chroot VERZEICHNISNAME
  Die Funktion chroot ist identisch mit dem gleichnamigen Systemaufruf (Details sind 
der Manpage chroot(2) zu entnehmen). Im wesentlichen teilt chroot dem gerade 
ausführenden Programm sowie allen exec-Aufrufen und Subprozessen mit, dass das in 
VERZEICHNISNAME angegebene Verzeichnis als neues Root-Verzeichnis zu verwenden 
ist. Pfade, die mit / anfangen, beginnen danach mit dem Verzeichnis 
VERZEICHNISNAME und nicht mehr mit dem eigentlichen Root-Verzeichnis des 
Dateisystems. Nur der root-Benutzer kann die Funktion chroot verwenden.
close DATEIHANDLE
  Die Funktion close wird verwendet, um ein zuvor geöffnetes Datei-Handle zu 
schließen (unabhängig davon, ob es sich um eine Datei oder eine Pipe handelt). Sie 
führt die notwendigen Aufräumarbeiten auf der Systemebene durch und liefert wahr 
zurück, wenn alle Operationen erfolgreich waren. Beachten Sie, dass alle Datei-
Handle automatisch geschlossen werden, wenn ein Perl-Programm beendet wird, so 
dass Sie oft davonkommen, ohne explizit alle Datei-Handle zu schließen, die Sie 
geöffnet haben.
closedir VERZEICHNISHANDLE
  closedir schließt ein Verzeichnis, das mit der Funktion opendir geöffnet wurde.
connect SOCKET, NAME
  connect versucht, eine Verbindung zu einem entfernten Socket herzustellen. NAME 
sollte die gepackte Adresse entsprechend dem Typ des Sockets enthalten. Die 
Funktion liefert wahr zurück, wenn sie erfolgreich war, im anderen Fall falsch. Diese 
Funktion ist identisch mit dem Systemaufruf connect.
cos AUSDRUCK
  Liefert den Kosinus von AUSDRUCK zurück.  Für die inverse Kosinusoperation 
sollten Sie die Funktion POSIX::acos() oder das Modul Math::Trig verwenden.
crypt NORMALERTEXT, WERT
  Die crypt-Funktion wird dazu verwendet, um Strings auf die gleiche Weise zu 
verschlüsseln, wie Paßwörter in einer Unix-Paßwortdatei gespeichert werden. Die 
Funktion übernimmt zwei Argumente: den String, der verschlüsselt werden soll, und 
einen Wert, mit dem der Verschlüsselungsalgorithmus initialisiert wird. Die crypt-
Funktion ist eine Einbahnstraße: Es ist keine Methode bekannt, mit der man Text, der 
mit crypt verschlüsselt wurde, wieder entschlüsseln kann (Unix testet Paßwörter, 
indem crypt auf die vom Benutzer eingegebenen Paßwörter angewendet und das 
Ergebnis dann mit den verschlüsselten Paßwörtern in /etc/passwd verglichen wird).
dbmclose HASH
  dbmclose löst die Bindung zwischen einem HASH und der DBM-Datei, mir der er 
verbunden ist. Diese Funktion wurde inzwischen durch die Funktion untie ersetzt.
dbmopen HASH, DBNAME, MODUS
  dbmopen bindet eine dbm, ndbm, sdbm, gdmb oder Berkeley-DB-Datei an einen Hash. 
HASH ist der Name der Hash-Variablen, an die die Datenbank gebunden wird, und 
DBNAME der Name der Datenbankdatei ohne die Extension. Wenn DBNAME nicht 
angegeben wird, wird eine neue Datei erzeugt, deren Zugriffsberechtigungen durch 
MODUS spezifiziert werden.
  Diese Funktion wurde inzwischen durch tie abgelöst.
defined AUSDRUCK
  defined wird verwendet, um Ausdrücke zu identifizieren, die den undefinierten Wert 
(im Gegensatz zu 0, Neue Zeile oder einen anderen leeren Rückgabewert) 
zurückliefern. Mit Hilfe der Funktion kann man festzustellen, ob eine Subroutine 
existiert oder eine Skalarvariable definiert wurde. Wenn kein AUSDRUCK übergeben 
wird, prüft defined, ob $_ undefiniert ist.
delete AUSDRUCK
  Die delete-Funktion wird verwendet, um Elemente aus einem Hash zu entfernen. 
Dabei gehen Sie so vor, dass Sie der Funktion einfach den Namen des Hash und den 
Schlüssel, der entfernt werden soll, übergeben. Sehen Sie dazu folgendes Beispiel:
delete $hash{$key};
  Da Sie nur ein einziges Element im Hash löschen wollen, referenzieren Sie die Hash-
Variable im skalaren Kontext (mit $).
die LISTE
  die übernimmt eine Liste als Argument. Wenn die aufgerufen wird, wird das 
Programm beendet, der Wert von $! zurückgeliefert und die als Argument an die 
übergebene Liste auf die Standardfehlerausgabe geschickt. Wenn die Liste nicht mit 
einem Neue-Zeile-Zeichen endet, werden der Name des Programms und die 
Zeilennummer der Zeile, bei der die Ausführung unterbrochen wurde, zusammen mit 
einem Neue-Zeile-Zeichen an die Ausgabe der Funktion angehängt.
open (FILE, $datei) or die "$datei kann nicht geöffnet werden";
  Wenn $datei nicht geöffnet werden kann, erzeugt diese Zeile folgende Ausgabe:
/tmp/datei kann nicht geöffnet werden at test_program line 13.
do BLOCK
do SUBROUTINE(LISTE)
do AUSDRUCK
  Wenn diese Funktion mit einem Codeblock in BLOCK aufgerufen wird, führt do die 
Anweisungen in dem Block aus und liefert den Wert der letzten Anweisung in dem 
Block zurück. Wenn do zusammen mit einem Schleifenausdruck verwendet wird, wird 
BLOCK ausgeführt, bevor die Schleifenbedingung das erste Mal getestet wird.
  do SUBROUTINE ist eine veraltete Methode, um eine Subroutine aufzurufen, und do 
AUSDRUCK stellt eine Möglichkeit dar, Code in einer anderen Datei auszuführen. 
AUSDRUCK wird in diesem Falle als der Dateiname einer Perl-Datei interpretiert, deren 
Inhalt ausgeführt wird. Auch wenn sich do auf diese Weise einsetzen läßt, sollten Sie 
trotzdem auf require und use ausweichen, die robuster sind.
dump LABEL
  Mit dump bewirken Sie, dass Perl einen Speicherauszug (dump) des Programms 
ausgibt. Anschließend können Sie mit dem undump-Programm eine binäre Datei 
erzeugen, die die Ausführung mit einem goto LABEL-Befehl beginnt.
each HASH
  Die each-Funktion wird verwendet, um Werte für die Verarbeitung in einer Schleife 
aus einem Hash herauszuholen. Sie verhält sich je nach Kontext (skalar oder Liste) 
unterschiedlich.
  Im skalaren Kontext liefert die each-Funktion den Schlüssel für das nächste Element 
im Hash zurück. Sie läßt sich daher folgendermaßen anwenden:
while ($key = each %hash) {
    $hash{$key}++;
}
  Im anderen Falle, das heißt in einem Listenkontext, liefert die each-Funktion eine 
zweielementige Liste, die den Schlüssel und den Wert für das nächste Element im 
Hash enthält. Das sieht dann wie folgt aus:
while (($key, $value) = each %hash) {
    print "$key = $value\n";
}
eof DATEIHANDLE
eof ()
eof
  Die eof-Funktion liefert 1 zurück, wenn beim nächsten Lesen aus DATEIHANDLE die 
Dateiendemarke zurückgeliefert wird oder DATEIHANDLE nicht geöffnet ist. Ohne 
Argument wertet eof die zuletzt gelesene Datei aus. Erfolgt der Aufruf mit leeren 
Klammern als Argument, erkennt eof das Ende einer Pseudodatei, die aus all den 
Dateien besteht, die auf der Befehlszeile angegeben wurden. In der perlfunc-
Manpage wird klugerweise darauf hingewiesen, dass eof selten verwendet wird, da 
Perl automatisch den undefinierten Wert zurückliefert, wenn das Ende einer Datei 
erreicht ist - so dass das Dateiende auch bequem ohne diese Funktion entdeckt 
werden kann.
eval AUSDRUCK
  eval wird verwendet, um einen Ausdruck oder einen Codeblock auszuführen, als ob 
es sich um ein eigenständiges Perl-Programm handelte. Es wird im Kontext des 
gerade laufenden Perl-Programms ausgeführt, so dass alle Variablen und anderen 
persis-tenten Werte des übergeordneten Programms weiter definiert sind, wenn die 
Ausführung des Ausdrucks mit eval beendet ist.
  Der von eval zurückgelieferte Wert ist der Wert des zuletzt ausgewerteten Ausdrucks. 
Um explizit einen bestimmten Wert zurückzuliefern, können Sie innerhalb von eval 
eine return-Anweisung verwenden. Wenn innerhalb der eval-Anweisung ein Syntax- 
oder ein Laufzeitfehler auftritt oder eine die-Anweisung ausgeführt wird, liefert die 
eval-Anweisung einen undefinierten Wert zurück, und die Variablen $@ enthält die 
Fehlermeldung.
  Da fatale Fehler, die innerhalb von eval-Anweisungen auftreten, die Ausführung des 
übergeordneten Programms nicht anhalten, kann die Funktion genutzt werden, um 
Fehler abzufangen oder schwer kalkulierbaren Code auszutesten.
exec LISTE
  Die exec-Funktion führt einen Systembefehl aus und hat keinen Rückgabewert, es sei 
denn der Befehl existiert nicht. Wenn LISTE aus mehr als einem Element besteht, 
verwendet exec den Systemaufruf execvp(3) mit den Argumenten in LISTE. Wenn 
das Argument aus einem einzigen skalaren Wert besteht, wird das Argument auf 
Shell-Metazeichen geprüft. Wenn Shell-Metazeichen gefunden werden, wird das 
Argument durch /bin/sh -c ausgeführt; andernfalls wird das Argument in Wörter 
zerlegt und an execvp übergeben.
exists AUSDRUCK
  Die exists-Funktion wird verwendet, um zu prüfen, ob ein bestimmter Schlüssel in 
einem Hash definiert ist. exists prüft nicht, ob es zu dem Schlüssel auch einen Wert 
gibt; es wird ausschließlich zum Prüfen auf Schlüssel verwendet. Sehen Sie zur 
Veranschaulichung ein Beispiel:
if (exists $hash{$key}) { print "Ja."; }
else { print "Nein.\n"; }
exit AUSDRUCK
  Die exit-Funktion wertet AUSDRUCK aus und bricht das Programm sofort ab. 
Normalerweise ist die die sauberere Lösung, um die Ausführung eines Programms 
abzubrechen, da die zurückgelieferten Fehlerinformationen abgefangen werden 
können.
exp AUSDRUCK
  Liefert den Wert e hoch AUSDRUCK zurück. Wenn exp ohne AUSDRUCK aufgerufen wird, 
wird standardmäßig exp($). Für normale Exponenten verwenden Sie den Operator 
**.
fcntl DATEIHANDLE, FUNKTION, SKALAR
  Wird verwendet, um den Systemaufruf fcntl(2) zu emulieren. Mit use fcntl; 
erhalten Sie die Funktionsdefinitionen, die Sie benötigen, um diese Funktion zu 
nutzen. In der Manpage finden Sie weitere Informationen zu der Funktion. fcntl 
liefert einen fatalen Fehler zurück, wenn sie auf der Plattform, auf der sie ausgeführt 
wird, nicht implementiert ist.
fileno DATEIHANDLE
  fileno liefert einen Dateideskriptor für einen gegebenen Datei-Handle zurück. Ein 
Dateideskriptor ist ein kleiner Integerwert, der die Datei identifiziert. Er kann für die 
Konstruktion von Bitmaps für die Verwendung mit select genutzt werden. Wenn 
DATEIHANDLE nicht geöffnet ist, wird undefined zurückgeliefert.
flock DATEIHANDLE, OPERATION
  Diese Funktion ruft den Systembefehl flock(2) für DATEIHANDLE auf. Weitere 
Informationen zu den verfügbaren Operationen finden Sie in der Manpage zu 
flock(2). Auf Systemen, die flock(2) oder Mechanismen zum Sperren von Dateien 
nicht unterstützen, erhalten Sie einen fatalen Fehler.
fork
  fork wird verwendet, um einen Systemaufruf in einen getrennten Prozeß zu 
verzweigen. fork liefert die Kind-PID an den übergeordneten Prozeß zurück. Diese 
Funktion ist nur auf Unix-ähnlichen Plattformen implementiert. Der gesamte Code in 
dem Block wird in einem neuen Prozeß ausgeführt.
format
  Die format-Funktion wurde entworfen, um COBOL-Programmierern das Erlernen 
von Perl zu erleichtern. Genau genommen bietet es Ihnen eine Methode, um 
Schablonen für die formatierte Ausgabe zu erzeugen. In der perlform-Manpage 
können Sie detailliert nachlesen, wie Sie mit format eine Ausgabe erzeugen.
formline BILD, LISTE
  Die Funktion formline wird intern von den Formaten verwendet. Sie wird verwendet, 
um das Argument LISTE analog zu BILD zu formatieren. Weitere Informationen 
entnehmen Sie bitte der Manpage perlform.
getc DATEIHANDLE
  getc liefert das nächste Zeichen aus DATEIHANDLE zurück. Wird das Argument 
DATEIHANDLE weggelassen, liefert getc das nächste Zeichen aus STDIN. getc erlaubt 
keine ungepufferte Eingabe (mit anderen Worten, wenn STDIN die Konsole ist, dann 
erhält getc das Zeichen erst, wenn der Puffer mit einem Neue-Zeile-Zeichen geleert 
wurde).
getlogin
  Liefert die aktuelle Login-Information aus /etc/utmp zurück, falls vorhanden. Falls 
der Wert Null lautet, sollten Sie getpwuid() verwenden.
getpeername SOCKET
  getpeername liefert die gepackte sockaddr-Adresse des anderen Endes der SOCKET-
Verbindung zurück.
getpgrp PID
  getpgrp liefert die Prozeßgruppe für den spezifizierten Prozeß zurück. Wird als PID 0 
angegeben, wird die Prozeßgruppe des aktuellen Prozesses zurückgeliefert.
getppid
  getppid liefert die Prozess-ID für den Elternprozeß des aktuellen Prozesses zurück.
getpriority WELCHE, WER
  Unter der Voraussetzung, dass getpriority auf Ihrem System implementiert ist, 
liefert diese Funktion die Priorität für einen Prozeß, eine Prozeßgruppe oder einen 
Benutzer zurück.
getsockname SOCKET
  getsockname liefert die gepackte sockaddr-Adresse dieses Endes der SOCKET-
Verbindung zurück.
getsockopt SOCKET, LEVEL, OPTNAME
  getsockopt liefert die angeforderte Option zurück oder im Falle eines Fehlers undefined.
glob AUSDRUCK
  Die glob-Funktion liefert den Wert von AUSDRUCK mit Dateinamenerweiterungen 
zurück, wie sie auch unter einer Shell vorkommen könnten. Wird AUSDRUCK 
weggelassen, wird als Argument $_ verwendet.
gmtime AUSDRUCK
  gmtime konvertiert eine Zeitangabe in dem von der time-Funktion zurückgelieferten 
Zeitformat (Sekunden seit 1. Jan. 1970, 00:00) in die Greenwich-Standardzeit (auch 
bekannt als Greenwich Mean Time). Diese Zeitangabe wird als eine Liste mit neun 
Elementen zurückgeliefert. Die Inhalte der Elemente können Sie diesem Beispiel 
entnehmen:
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime(time);
  Beachten Sie, dass alle diese Elemente im numerischen Format zurückgegeben 
werden und die aufeinanderfolgenden Zahlen (wie Monate und Tage der Woche) statt 
mit einer 1 mit einer 0 beginnen. Das bedeutet, dass Monate von 0 bis 11 zählen. Das 
zurückgelieferte Jahr ist die Zahl des Jahres seit 1900 und nicht einfach nur die letzten 
zwei Stellen. Damit wird das so gefürchtete Jahr-2000-Problem vermieden. Wenn Sie 
gmtime in einem skalaren Kontext verwenden, liefert die Funktion die Zeit im 
ctime(3)-Format zurück:
Sat Jun 6 01:56:44 1998
goto LABEL
goto AUSDRUCK
goto &NAME
  Die goto-Funktion sucht die mit LABEL benannte Anweisung und fährt ab dort mit der 
Ausführung fort. Sie kann die Ausführung nicht mit Anweisungen fortsetzen, die sich 
in Blocks befinden und initialisiert werden müssen (zum Beispiel Subroutinen oder 
foreach-Schleifen). Es gibt noch zwei weitere Anwendungsbereiche für goto, die 
jedoch ziemlich veraltet sind. goto AUSDRUCK wird verwendet, um zu einer Marke 
(Label) zu springen, die mit AUSDRUCK angegeben wird, wobei der Gültigkeitsbereich 
dynamisch ist. goto &NAME ersetzt die aktuell laufende Subroutine durch einen Aufruf 
der benannten Subroutine, als ob diese zuerst aufgerufen worden wäre.
grep AUSDRUCK, LISTE
grep BLOCK LISTE
  Die grep-Funktion dient dazu, Listen zu durchsuchen und alle Elemente in der Liste 
zurückzuliefern, die einem bestimmten Muster entsprechen. grep übernimmt zwei 
Argumente: einen Ausdruck und eine Liste. Es liefert eine neue Liste zurück, die all 
die Elemente enthält, für den der Ausdruck wahr ist. Betrachten wir ein Beispiel:
@neuesarray = grep /rot/, @altesarray;
  @neuesarray enthält in diesem Beispiel eine Liste der Elemente aus @altesarray, die 
den String rot enthalten. Wenn Sie grep in einem skalaren Kontext aufrufen, wird statt 
der Liste der Elemente die Anzahl der übereinstimmenden Elemente zurückgeliefert.
hex AUSDRUCK
  hex liest AUSDRUCK als einen hexadezimalen String und liefert den Dezimalwert zurück. 
Wird AUSDRUCK fortgelassen, liest die Funktion $_.
import KLASSENNAME LISTE
import KLASSENNAME
  import ist keine vordefinierte Funktion. Sie wird vielmehr von Modulen 
implementiert, die Namen in andere Module exportieren wollen. Die import-Funktion 
wird von der use-Funktion aufgerufen, wenn ein Modul in ein Perl-Programm geladen 
wird.
index STR, SUBSTR, POSITION
index STR, SUBSTR
  index wird verwendet, um einen Teilstring in einem größeren String zu lokalisieren. 
Die Funktion übernimmt drei Argumente, von denen eines optional ist. Bei den 
Argumenten handelt es sich um den String, der durchsucht werden soll, den 
gesuchten Teilstring und die Position, ab der die Suche beginnen soll (optional). index 
liefert die Position im String zurück, an der der Teilstring das erste Mal beginnt. Um 
zum Beispiel den String bar in dem größeren String verwundbar zu finden, könnten 
Sie den folgenden Code verwenden: index ('verwundbar', 'bar');. Um das zweite 
Vorkommen von sein in dem String Sein oder Nichtsein zu suchen, könnten Sie 
optional das dritte Argument verwenden, um die Suche bei Position 4 zu starten: 
index ('Sein oder Nichtsein ', 'sein', 4);.
int AUSDRUCK
  int liefert den Integeranteil eines Strings zurück. Wenn beispielsweise ein String mit 
einem Integer beginnt, wie 60 kmh, wird int diesen Integer, in unserem Beispiel 60, 
zurückliefern. Strings, die nicht mit einem Integer beginnen, liefern 0 zurück. Wenn 
Sie die Perl-Warnungen aktiviert haben, erhalten Sie für jeden String, der nicht mit 
einer Zahl beginnt, eine Warnung.
ioctl DATEIHANDLE, FUNKTION, SKALAR
  ioctl wird dazu verwendet, den Systemaufruf ioctl(2) zu implementieren. Sie 
werden wahrscheinlich
require "ioctl.ph";
  aufrufen müssen, bevor Sie die Funktionsdefinitionen für ioctl importieren können. 
Wenn die Funktion nicht existiert, werden Sie auf der Basis der Systemdatei ioctl.h 
Ihre eigenen Funktionsdefinitionen erzeugen müssen.
join AUSDRUCK, LISTE
  Die join-Funktion ist das Gegenstück zu split. Sie wird benötigt, um die Elemente 
einer Liste in einem einzigen String zusammenzufassen. Sie übernimmt zwei 
Argumente: einen Ausdruck und eine Liste. Der Inhalt des Ausdrucks wird als 
Begrenzer zwischen den Elementen im zurückgelieferten String verwendet.
keys HASH
  Die keys-Funktion liefert ein Array zurück, das alle Schlüssel des in HASH angegebenen 
Hash enthält. Diese Funktion wird häufig verwendet, um die Schlüssel in einem Hash 
zu sortieren, bevor man eine Schleife darüber laufen läßt. Hier ein typisches Beispiel:
foreach $key (sort (keys %hash)) {
    print $key, " = ", $value, "\n";
}
kill LISTE
  kill dient eigentlich dazu, ein Signal an eine Liste von Prozessen zu senden, anstatt 
diese einfach abzuwürgen. Das erste Argument in LISTE muss das zu sendende Signal 
sein, der Rest sollten die Prozesse sein, die das Signal erhalten sollen. Um Prozesse zu 
beenden,  würden Sie folgenden Code verwenden:
kill 1, 100, 102, 110;
Um die gleichen Prozesse mit größerer Entschlossenheit zu beenden, würden Sie schreiben:
kill 9, 100, 102, 110;
  Sie können anstatt einer Signalzahl auch den Signalnamen angeben, der dann 
allerdings in Anführungszeichen stehen muss. Weitere Informationen zu den Signalen 
finden Sie in der Manpage signal(5).
last LABEL
last
  Der last-Befehl veranlaßt das direkte Verlassen der in LABEL angegebenen Schleife. 
Wird kein Wert für LABEL angegeben, wird die innerste Schleife verlassen.
lc AUSDRUCK
  Die lc-Funktion konvertiert alle alphabetischen Zeichen in einem String in 
Kleinbuchstaben. lc 'ABC'; liefert demnach abc zurück. Wird kein AUSDRUCK 
angegeben, wird die lc-Funktion auf $_ angewendet.
lcfirst AUSDRUCK
  Liefert den Wert in AUSDRUCK zurück, nachdem das erste Zeichen in einen 
Kleinbuchstaben verwandelt wurde. Wird kein AUSDRUCK angegeben, wird die Funktion 
auf $_ angewendet.
length AUSDRUCK
  length übernimmt einen String als Argument und liefert einen Integer zurück, der die 
Länge des Strings in Bytes angibt. So liefert zum Beispiel length("Hund") den Wert 4 
zurück. Wenn AUSDRUCK nicht angegeben wird, wird die Funktion $_ angewendet.
link ALTEDATEI, NEUEDATEI
  Erzeugt einen harten (anstelle eines symbolischen) Links von ALTEDATEI zu NEUEDATEI. 
Zur Erzeugung eines symbolischen Links müssen Sie sich der Funktion symlink 
bedienen.
listen SOCKET, WARTESCHLANGENGROESSE
  Die listen-Funktion in Perl erfüllt die gleiche Funktion wie der Systemaufruf listen. 
Sie liefert im Erfolgsfall wahr zurück und ansonsten falsch.
local AUSDRUCK
  local gibt an, dass die aufgelisteten Variablen lokal zu dem gerade ausgeführten 
Block, der Schleife, Subroutine, eval {} oder do sind. Wenn man local mehr als eine 
Variable übergeben möchte, sollte man diese in Klammern setzen. Um den 
Gültigkeitsbereich einer Variablen zu begrenzen, ist es meist besser, my zu verwenden.
localtime AUSDRUCK
  Die Funktion localtime ist identisch mit der Funktion gmtime, nur dass sie die Zeit in 
die lokale Zeitzone und nicht in die Greenwich-Zeit konvertiert.
log AUSDRUCK
  Liefert den Logarithmus (Basis e) von AUSDRUCK oder von $_, wenn AUSDRUCK nicht 
angegeben wird.
lstat DATEIHANDLE
lstat AUSDRUCK
lstat
  lstat entspricht der Funktion stat, bis auf die Tatsache, dass sie statistische 
Informationen für einen symbolischen Link und nicht für die Datei, auf die der Link 
verweist, zurückliefert. Wenn AUSDRUCK weggelassen wird, wird lstat auf den Wert in 
$_ angewendet.
map BLOCK LISTE
map AUSDRUCK, LISTE
  map stellt eine Alternative zu foreach dar, wenn es darum geht, eine Operation auf 
jedes Element in einer Liste auszuführen. Die Funktion kann in zwei Formen 
aufgerufen werden. Der folgende Code demonstriert, wie Sie alle Operationen in 
einem Codeblock auf eine Liste anwenden können:
@rueckwaerts_worte = map {
   lc;
   reverse;
} @worte;
  Das obige Beispiel dreht alle Elemente in dem Array @worte um und konvertiert sie in 
Kleinbuchstaben. Die Ergebnisse von map werden in einem Listenkontext 
zurückgegeben, weshalb ich sie einem Array zuweise. Beachten Sie, dass jedes 
Element zur Bearbeitung der Variablen $_ zugewiesen wird. Das ist der Grund, warum 
ich die Funktionen im Codeblock ohne Argumente verwenden kann. Um eine einzige 
Operation auf jedes Element einer Liste durchzuführen, wird map folgendermaßen 
aufgerufen:
@neueliste = map(uc, @alteliste);
Auffällig ist, dass bei Anwendung einer einzelnen Operation die Operation mit Komma von der zu verarbeitenden Liste getrennt wird.
mkdir DATEINAME, MODUS
  mkdir wird verwendet, um ein neues Verzeichnis anzulegen, dessen Name in 
DATEINAME angegeben wird. Sie sollten die Zugriffsrechte für das Verzeichnis mit 
MODUS setzen. MODUS sollte im üblichen Oktalformat angegeben werden (eine reine 
Zahl, nicht von Anführungszeichen umschlossen) und das SUID-Bit enthalten.
msgctl ID, CMD, ARG
  msgctl ruft den Systemaufruf msgctl(2) auf. Diese Funktion ist nur auf Maschinen 
verfügbar, die das System V IPC  unterstützen.
msgget SCHLÜSSEL, FLAGS
  Ruft die System V IPC-Funktion msgget auf und liefert die ID der 
Nachrichtenwarteschlange oder im Falle eines Fehlers undefined zurück.
msgrcv ID, VAR, GROESSE, TYP, FLAGS
  Ruft die System V IPC-Funktion msgrcv auf, um eine Nachricht von der 
Nachrichtenwarteschlange ID zu empfangen, die in der Variablen VAR gespeichert 
wird, mit einer maximalen Größe von GROESSE. Liefert im Erfolgsfall wahr zurück oder 
im Falle eines Fehlers falsch.
msgsnd ID, MLD, FLAGS
  Ruft die System V IPC-Funktion msgsnd auf, um MLD an die 
Nachrichtenwarteschlange, die durch ID spezifiziert ist, zu senden. Liefert im 
Erfolgsfall wahr zurück oder im Falle eines Fehlers falsch.
my AUSDRUCK
  my wird verwendet, um die aufgelisteten Variablen einem Gültigkeitsbereich 
zuzuordnen, der lokal zu dem aktuellen Block, zu eval{}, zur Subroutine oder zur 
importierten Datei ist. Wird mehr als eine Variable angegeben, müssen die Variablen 
in Klammern stehen.
next LABEL
next
  Wenn das Programm in einer Schleife auf den Befehl next stößt, springt die 
Programmausführung direkt zum nächsten Schleifendurchlauf.
no MODULE LISTE
  Das no-Modul ist das Gegenstück zu dem use-Operator. Ausführlichere Informationen 
dazu finden Sie in der perlobj-Manpage.
oct AUSDRUCK
  oct liest AUSDRUCK als einen oktalen String ein und liefert den zugehörigen 
Dezimalwert zurück, es sei denn der String beginnt mit 0x, was bedeutet, dass der 
String als Hexadezimalwert interpretiert wird. Wird AUSDRUCK weggelassen, liest die 
Funktion $_ ein.
open (DATEIHANDLE, AUSDRUCK)
  Die open-Funktion öffnet die Datei, die in AUSDRUCK spezifiziert wird, und weist sie 
DATEIHANDLE zu. Wenn AUSDRUCK weggelassen wird, wird angenommen, dass eine 
Variable mit dem gleichen Namen wie DATEIHANDLE den Namen der zu öffnenden 
Datei enthält.
  Indem Sie < vor den Dateinamen setzen, können Sie die Datei für die Eingabe öffnen, 
und indem Sie ein > davorsetzen, öffnen Sie die Datei für die Ausgabe. Um Daten an 
die Ausgabedatei anzuhängen, anstatt sie zu überschreiben, müssen Sie zwei >>-
Zeichen vor den Dateinamen setzen. Um einen Datei-Handle mit einer Pipe anstatt 
der Standardeingabe oder -ausgabe zu öffnen, können Sie das Pipe-Zeichen (|) 
verwenden. Wenn Sie das |-Zeichen vor den Programmnamen setzen, öffnen Sie 
eine Pipe zu dem Programm, und wenn Sie das | nach dem Dateinamen setzen, 
öffnen Sie eine Pipe von dem Programm zu Ihrem Datei-Handle.
  Weitere Informationen zu der open-Funktion finden Sie in Kapitel 15, »Dateien und 
E/A«.
opendir (VERZEICHNISHANDLE, AUSDRUCK)
  Die Funktion opendir öffnet das in AUSDRUCK spezifizierte Verzeichnis für die Eingabe 
und weist es VERZEICHNISHANDLE zu. Aus dem Verzeichnis-Handle kann dann die Liste 
der Einträge in dem Verzeichnis gelesen werden. Beachten Sie, dass sich der 
Namensbereich für Verzeichnis-Handles nicht mit dem von Datei-Handles 
überschneidet.
ord AUSDRUCK
  Liefert den numerischen ASCII-Wert des ersten Zeichens von AUSDRUCK zurück. Wenn 
AUSDRUCK nicht angegeben wird, wird $_ verwendet.
pack SCHABLONE, LISTE
  pack übernimmt eine Liste von Werten, packt sie in eine binäre Struktur und liefert 
den String zurück, der diese Struktur enthält. SCHABLONE ist eine Liste von Zeichen, die 
die Reihenfolge und den Typ der Werte vorgibt.
Tabelle A.1: Schablonensymbole für pack
  Jeder Buchstabe kann von einer Zahl gefolgt sein, die angibt, wie oft der Buchstabe 
wiederholt werden soll. Mit der Funktion unpack können Elemente wieder aus einer 
binären Struktur extrahiert werden.
package NAMENSBEREICH
  Die package-Funktion legt fest, dass alle Variablen in dem innersten Block, 
Subroutine, eval oder Datei, zu NAMENSBEREICH gehören. Weitere Informationen 
finden Sie in der perlmod-Manpage.
pipe LESEHANDLE, SCHREIBHANDLE
  pipe öffnet eine Pipe von LESEHANDLE zu SCHREIBHANDLE, wie der Systemaufruf des 
gleichen Namens.
pop ARRAY
  Die pop-Funktion entfernt das letzte Element in einem Array (verkürzt es um ein 
Element) und liefert es als skalaren Wert zurück. push (wird gleich besprochen) und 
pop sind sogenannte Stack- oder Stapel-Funktionen. Wenn Sie sich ein Array als 
einen Stapel Tabletts in einer Cafeteria vorstellen, wird mit pop das oberste Tablett 
vom Stapel entfernt.
pos SKALAR
  Liefert die Position in SKALAR zurück, an der die letzte m//g-Suche  abgebrochen 
wurde. Wenn SKALAR nicht angegeben wird, wird $_ verwendet.
print DATEIHANDLE LISTE
print LISTE
  Die print-Funktion wird dazu verwendet, die ihr im Listenkontext übergebenen Daten 
der Standardausgabe oder, wenn ein Datei-Handle spezifiziert wurde, diesem Datei-
Handle zu übergeben. Wird keine Liste von auszugebenden Daten angegeben, wird 
standardmäßig der Inhalt von $_ ausgegeben. Beachten Sie, dass zwischen dem Datei-
Handle und der Liste der auszugebenden Daten kein Komma stehen sollte. Um zum 
Beispiel einige Daten an das Datei-Handle DATEI auszugeben, würden Sie schreiben:
print DATEI $daten
print DATEI $daten, ' ', $mehr_daten, '\n';
printf DATEIHANDLE LISTE
printf LISTE
  printf wird verwendet, um die Ausgabe nach den Konventionen der sprintf-
Funktion zu formatieren. Im wesentlichen ist
printf DATEIHANDLE FORMAT, LISTE;
print DATEIHANDLE sprintf(FORMAT, LISTE);
push ARRAY, LISTE
  push wird verwendet, um ein Element an das Ende eines Arrays anzuhängen. Wenn 
Sie einen skalaren Wert in das Array »pushen«, wird das Array dadurch um ein 
Element länger, und der Wert wird dem letzten Element im Array zugewiesen. Stellen 
Sie sich den gleichen Stapel Tabletts aus unserem Beispiel zur pop-Funktion vor: In 
diesem Fall bewirkt die push-Funktion, dass ein Tablett oben auf den Stapel 
draufgelegt wird. Sie können auch mehrere Werte an ein Array anhängen, Sie 
müssen nur eine Liste als Argument für die push-Funktion angeben.
quotemeta AUSDRUCK
quotemeta
  quotemeta liefert den Wert von AUSDRUCK zurück, wobei alle nichtalphanumerischen 
Zeichen mit Escape-Zeichen (Backslash) versehen sind. Verwendet $_, wenn AUSDRUCK 
weggelassen wurde.
rand AUSDRUCK
rand
  Die rand-Funktion liefert eine Zufallszahl zwischen 0 und AUSDRUCK. Wenn AUSDRUCK 
weggelassen wird, liefert die Funktion einen Wert zwischen 0 und 1 (1 nicht 
eingeschlossen). Unter srand erfahren Sie, wie Sie den Zufallszahlengenerator 
initialisieren.
read DATEIHANDLE, SKALAR, LAENGE, OFFSET
read DATEIHANDLE, SKALAR, LAENGE
  Die read-Funktion wird verwendet, um eine beliebige Anzahl an Daten-Bytes von 
einem Datei-Handle in einen skalaren Wert zu lesen. Sie übernimmt vier Argumente: 
Datei-Handle, Skalar, Länge und Offset (Offset ist optional). Das Argument 
DATEIHANDLE gibt an, von welchem Datei-Handle die Daten zu lesen sind. Das 
Argument SKALAR definiert die Variable, der die Daten zugewiesen werden. LAENGE 
gibt an, wie viele Daten-Bytes gelesen werden, und OFFSET wird verwendet, wenn Sie 
die Daten nicht von Beginn des Strings an einlesen wollen, sondern erst ab einer 
späteren Position. Sehen Sie im folgenden ein Beispiel, das 1024 Byte vom 2048ten 
Byte an aus dem Datei-Handle DATEI einliest und der Variablen $chunk zuweist:
read DATEI, $chunk, 1024, 2048;
readdir VERZEICHNISHANDLE
  readdir wird verwendet, um Einträge aus einem Verzeichnis zu lesen, das mit  
opendir geöffnet wurde. Wenn diese Funktion in einem skalaren Kontext verwendet 
wird, liefert sie den nächsten Eintrag in dem Verzeichnis zurück. In einem 
Listenkontext liefert sie alle übriggebliebenen Einträge im Verzeichnis. Wenn bereits 
alle Einträge in dem Verzeichnis gelesen wurden, lautet der Rückgabewert undefined.
readlink AUSDRUCK
  Die readlink-Funktion liest den Wert eines symbolischen Links. Wenn auf der 
Plattform symbolische Links nicht implementiert sind, wird ein fataler Fehler 
zurückgeliefert. Wenn AUSDRUCK fortgelassen wird, wird der Wert in $_ verwendet.
recv SOCKET, SKALAR, LAENGE, FLAGS
  recv wird verwendet, um eine Nachricht auf einem Socket zu empfangen, wobei man 
sich der C-Funktion recvfrom bedient. Die Funktion empfängt LAENGE Bytes in der 
Variablen SKALAR von SOCKET. Dabei wird die Adresse des Absenders zurückgeliefert, 
es sei denn es liegt ein Fehler vor, in welchem Falle undefined zurückgeliefert wird. 
recv übernimmt die gleichen Flags wie der gleichlautende Systemaufruf.
redo LABEL
redo
  redo startet den aktuellen Schleifenblock neu, ohne die Testbedingung der Schleife 
neu zu bewerten. Wenn LABEL nicht angegeben wird, wirkt redo auf den innersten 
Block.
ref AUSDRUCK
  ref liefert wahr zurück, wenn AUSDRUCK eine Referenz ist, im anderen Falle falsch. 
Wird AUSDRUCK nicht angegeben, wird $_ verwendet.
rename ALTERNAME, NEUERNAME
  Die rename-Funktion ändert den Namen der Datei ALTERNAME in NEUERNAME.
require AUSDRUCK
  Die Funktion require wird meist dazu verwendet, eine externe Perl-Datei in das 
aktuelle Programm zu laden. Allgemein wird sie verwendet, um eine Art von 
Abhängigkeit von ihrem Argument zu schaffen. Wenn AUSDRUCK numerisch ist, wird 
die entsprechende Perl-Version für die Ausführung des Programms benötigt. Wenn 
kein Argument angegeben wird, wird $_ verwendet.
  Um eine Datei zu laden, sollten Sie den Dateinamen als Argument zu require 
übergeben. Erfolgt die Übergabe des Dateinamens als einfaches Wort, wird 
automatisch .pl angehängt und :: durch / ersetzt, damit Standardmodule möglichst 
problemlos geladen werden können. Die benötigte Datei muss mit einer Anweisung 
enden, die als wahr ausgewertet wird. In der Regel enden Dateien, die für die 
Verwendung mit require erstellt werden, daher mit einer 1;-Anweisung.
reset AUSDRUCK
reset
  reset wird verwendet, um globale Variablen oder ??-Suchläufe zurückzusetzen, und 
steht häufig am Anfang einer Schleife oder  in dem continue-Block am Ende einer 
Schleife. reset löscht die Werte aller Variablen, die mit den Zeichen aus AUSDRUCK 
beginnen. Wenn kein Argument angegeben wird, löscht reset alle ??-Suchläufe.
return AUSDRUCK
  Die return-Funktion unterbricht die Ausführung von eval, einer Subroutine oder 
einer do-Datei und liefert den Wert von AUSDRUCK zurück. Wenn keine return-
Anweisung vorgesehen wird, wird der Wert des zuletzt ausgewerteten Ausdrucks 
zurückgeliefert.
reverse LISTE
  Die reverse-Funktion übernimmt einen skalaren Wert oder eine Liste als Argument. 
Im Falle eines skalaren Werts wird die Reihenfolge der Zeichen in dem Skalar 
umgedreht. So erzeugt zum Beispiel der Code reverse "rot"; den Rückgabewert 
tor. Wenn reverse eine Liste übergeben wird, so wird die Reihenfolge der Elemente 
in der Liste umgedreht. reverse ("rot", "gruen", "blau"); hat den Rückgabewert 
("blau", "gruen", "rot").
rewinddir VERZEICHNISHANDLE
  rewinddir setzt das Verzeichnis-Handle für ein mit readdir geöffnetes Verzeichnis 
zurück auf den ersten Eintrag in diesem Verzeichnis.
rmdir DATEINAME
  rmdir entfernt das in DATEINAME spezifizierte Verzeichnis, wenn es leer ist. Ist das 
Verzeichnis nicht leer oder die Funktion versagt aus einem anderen Grund, liefert sie 1 
zurück. Im Erfolgsfall lautet der Rückgabewert 0. Wenn DATEINAME nicht angegeben 
wird, wird der Wert in $_ verwendet.
scalar AUSDRUCK
  Erzwingt, dass der Wert in AUSDRUCK in einem skalaren Kontext ausgewertet wird, und 
liefert den Wert von AUSDRUCK zurück.
seek DATEIHANDLE, OFFSET, VONWOAUS
  seek wird verwendet, um die Position von DATEIHANDLE zu setzen. VONWOAUS kann einen 
der folgenden Werte annehmen: 0, um die Position auf POSITION zu setzen, 1, um 
POSITION zu der aktuellen Position hinzuzuaddieren, und 2, um die Position auf EOF 
plus POSITION zu setzen (aus offensichtlichen Gründen üblicherweise eine negative 
Zahl).
seekdir VERZEICHNISHANDLE, POS
  seekdir setzt die Position von VERZEICHNISHANDLE für die readdir-Funktion. POS 
muss ein Wert sein, der von telldir zurückgegeben wurde.
select DATEIHANDLE
select
  Wenn der Aufruf ohne Argumente erfolgt, liefert select das gerade ausgewählte 
Datei-Handle zurück. Wenn Sie select ein Datei-Handle übergeben (oder einen 
Ausdruck, der einen Datei-Handle zurückliefert), wird dieser Datei-Handle zum 
Standard-Handle, an den alle Ausgaben gesendet werden. Mit anderen Worten: der 
Datei-Handle wird zur Standardausgabe. Wenn Sie also eine Reihe von Elementen in 
einem bestimmten Datei-Handle ausgeben wollen, ist es vielleicht einfacher, das 
Datei-Handle mit select einzurichten und dafür die Datei-Handle in den print-
Anweisungen einzusparen.
semctl ID, SEMNUM, CMD, ARG
  semctl ruft den System V IPC-Systemaufruf semctl(2) auf.
semget SCHLÜSSEL, NSEMS, GROESSE, FLAGS
  semget ruft den System-V-IPC-Systemaufruf semget(2) auf und liefert die Semaphore-
ID zurück oder im Falle eines Fehlers undefined.
semop KEY, OPSTRING
  Diese Funktion  ruft den System-V-IPC-Systemaufruf semop(2) auf, der Semaphore-
Operationen wie Signalisieren und Warten ausführt.
send SOCKET, MLDNG, FLAGS, ZU
send SOCKET, MLDNG, FLAGS
  Die send-Funktion sendet eine Nachricht über ein Socket. Wenn das Socket nicht 
verbunden ist, müssen Sie eine Adresse angeben, an die gesendet werden soll. Die 
Funktion übernimmt die gleichen Flags wie der Systemaufruf send und liefert die 
Anzahl der gesendeten Zeichen zurück, wenn sie erfolgreich ist (oder undefined, 
wenn ein Fehler aufgetreten ist).
setpgrp PID, PGRP
  setpgrp setzt die Prozeßgruppe für die spezifizierte PID. Wenn als PID 0 angegeben 
wird, wird die Prozeßgruppe auf den aktuellen Prozeß gesetzt. Wenn setpgrp(2) nicht 
vom System unterstützt wird, wird ein fataler Fehler produziert.
setpriority WELCHE, WER, PRIORITÄT
  Setzt die Priorität für einen Prozeß, eine Prozeßgruppe oder einen Benutzer. Wenn 
setpriority(2) nicht unterstützt wird, führt dies zu einem fatalen Fehler.
setsockopt SOCKET, LEVEL, OPTNAME, OPTWERT
  setsockopt wird verwendet, um die spezifizierte Option für ein Socket zu setzen. Bei 
Auftreten eines Fehlers wird undefined zurückgeliefert. Verwenden Sie undef für 
OPTWERT, um eine Option zu setzen, ohne einen Wert für diese Option anzugeben.
shift ARRAY
shift
  Die unshift-Funktion ist das Gegenstück zu der shift-Funktion. Sie entfernt das erste 
Element aus einem Array und liefert es als skalaren Wert zurück. Die Indizes der 
anderen Elemente im Array werden um eins dekrementiert, und das Array ist 
anschließend um ein Element kürzer als vorher. unshift wird in der Regel dazu 
verwendet, Argumente zu verarbeiten, die einer benutzerdefinierten Funktion 
übergeben wurden. Wie Sie wissen, werden Argumente mittels des Arrays @_ an 
Funktionen übergeben. Mit Befehlen wie $arg = unshift @_; können sie 
Funktionsargumente verarbeiten, ohne Gedanken an ihre Indizes verschwenden zu 
müssen.
shmctl ID, CMD, ARG
  shmctl ruft den System-V-Systemaufruf shmctl(2) auf.
shmget SCHLUESSEL, GROESSE, FLAGS
  shmget ruft den System-V-Systemaufruf shmget(2) auf.
shmread ID, VAR, POS, GROESSE
  shmread ruft den System-V-Systemaufruf shmread(2) auf.
shmwrite ID, STRING, POS, GROESSE
  shmwrite ruft den System-V-Systemaufruf shmwrite(2) auf.
shutdown SOCKET, WIE
  shutdown schließt eine Socket-Verbindung. Dabei wird die Art des Schließens in WIE 
vorgegeben, dass der Syntax des Systemaufrufs shutdown entspricht.
sin AUSDRUCK
  Liefert den Sinus von AUSDRUCK oder von $_, wenn kein Argument übergeben wird.
sleep AUSDRUCK
sleep
  sleep versetzt das Programm in einen Schlaf - für die in AUSDRUCK definierten 
Sekunden oder, falls kein Argument übergeben wird, für unbegrenzte Zeit. sleep kann 
mit dem SIGALRM-Signal unterbrochen werden. Die Funktion liefert die Anzahl der 
tatsächlich geschlafenen Sekunden zurück.
socket SOCKET, DOMÄNE, TYP, PROTOKOL
  Die socket-Funktion wird dazu verwendet, das Socket zu öffnen, das mit dem Datei-
Handle SOCKET verbunden ist. DOMÄNE, TYP und PROTOKOL werden auf die gleiche Weise 
spezifiziert wie im socket-Systemaufruf. Sie sollten mit use Socket; das gleichnamige 
Modul importieren, bevor Sie die socket-Funktion aufrufen, um sicherzustellen, dass 
die korrekten Definitionen importiert sind.
socketpair SOCKET1, SOCKET2, DOMÄNE, TYP, PAAR
  Die Funktion socketpair erzeugt ein Paar unbenannter Sockets in der spezifizierten 
Domäne und mit dem spezifizierten Typ. Wenn die Funktion nicht implementiert ist, 
erfolgt ein fataler Fehler. Im Erfolgsfall liefert die Funktion wahr zurück.
sort SUBNAME LISTE
sort BLOCK LISTE
sort LISTE
  Die sort-Routine wird verwendet, um die Einträge einer Liste zu sortieren. Die 
Elemente der Liste werden sortiert zurückgegeben. Es gibt drei verschiedene 
Möglichkeiten, sort anzuwenden. Die einfachste davon ist der Aufruf von sort mit 
der zu sortierenden Liste als einzigem Argument. Der Rückgabewert ist eine Liste, die 
nach den Standardregeln für Stringvergleiche sortiert wurde.
  Eine andere Möglichkeit besteht darin, eine Subroutine anzugeben, die die Elemente 
in der Liste vergleicht. Diese Subroutine liefert einen Integer kleiner als, gleich oder 
größer als Null zurück, je nachdem wie die Elemente in der Liste angeordnet werden 
sollen (in diesen Subroutinen werden besonders oft der <=>-Operator, der numerische 
Vergleiche durchführt, und der cmp-Operator, der für Stringvergleiche zuständig ist, 
verwendet).
  Mit der im vorigen Absatz beschriebenen Subroutinen-Methode können Sie Listen 
nach anderen Kriterien als den standardmäßig vorgegebenen sortieren. Häufiger 
jedoch fügt man einfach nur einen Codeblock als erstes Argument an den 
Funktionsaufruf ein. Bestimmt ist Ihnen die sort-Funktion schon einmal in der 
folgenden Form begegnet:
@sortierteliste = sort { $a <=> $b } @liste;
  Das obige Beispiel sortiert @liste in aufsteigender numerischer Reihenfolge und weist 
die zurückgelieferte Liste dem Array @sortierteliste zu. Die von der sort-Routine 
verglichenen Elemente werden zum Sortieren als $a und $b an den Codeblock (oder 
die Subroutine) gesendet. Der obige Codeblock vergleicht also die Elemente paarweise 
mit Hilfe des <=>-Operators. Betrachten wir noch ein paar weitere häufige 
Codeblocks, die zusammen mit der sort-Funktion verwendet werden:
# Sortiert in alphabetischer Reihenfolge (entspricht dem Standardverfahren)
@sortierteliste = sort {$a cmp $b } @liste;
# Sortiert in absteigender alphabetischer Reihenfolge
@sortierteliste = sort { $b cmp $a } @liste;
# Sortiert in numerischer Reihenfolge
@sortierteliste = sort { $a <=> $b } @liste;
# Sortiert in absteigender numerischer Reihenfolge
@ ortierteliste = sort { $b <=> $a } @liste;
splice ARRAY, OFFSET, LAENGE, LISTE
splice ARRAY, OFFSET, LAENGE
splice ARRAY, OFFSET
  splice ist das Schweizer Armeemesser unter den Array-Funktionen. Sie stellt eine 
Universalfunktion dar, um Elemente in ein Array einzufügen, daraus zu entfernen oder 
Elemente darin durch neue Werte zu ersetzen. splice kann mit bis zu vier 
Argumenten aufgerufen werden, von denen die letzten zwei optional sind. Das erste 
Argument sollte das Array sein, das mit splice bearbeitet werden soll. Das zweite 
Argument ist der Offset, der die Position im Array angibt, an der die Aktion stattfindet 
(wenn Sie vom hinteren Ende des Arrays abzählen wollen, geben Sie eine negative 
Zahl an). Das dritte - optionale - Argument ist die Anzahl der Elemente, die entfernt 
werden sollen (wenn Sie dieses Argument fortlassen, werden alle Elemente von dem 
Offset bis zum Ende des Arrays entfernt). Der Rest der Argumente ist eine Liste von 
Elementen, die am Offset eingefügt wird. Das alles ist etwas verwirrend, deshalb 
möchte ich es anhand eines Beispiels veranschaulichen. Um alle Elemente eines 
Arrays ab dem zweiten Element zu löschen (zur Erinnerung: Array-Indizes beginnen 
mit einer 0), können Sie folgenden Code eingeben:
splice(@array, 2);
Um einen neuen skalaren Wert zwischen dem zweiten und dritten Element in ein Array einzufügen, ohne etwas zu entfernen, würden sie schreiben:
splice(@array, 2, 0, "neuer wert");
Um das zweite und dritte Element in einem Array durch drei neue Elemente zu ersetzen, würden Sie folgendes eingeben:
splice(@array, 2, 2, "rot", "gruen", "blau");
  Sie sollten sich darüber im klaren sein, dass nach dem Aufruf von splice für ein Array 
die Elemente in dem Array neu indiziert werden, um die Änderungen in der Struktur 
widerzuspiegeln. Demzufolge sind in unserem Beispiel oben alle Indizes für die 
Elemente nach dem von uns eingefügten Element um eins inkrementiert, da wir zwei 
Elemente durch drei ersetzt haben.
split /MUSTER/, AUSDRUCK, LIMIT
split /MUSTER/, AUSDRUCK
split /MUSTER/
split
  Die split-Funktion dient dazu, einen String in mehrere Teilstrings zu zerlegen und 
diese Teile als Liste zurückzugeben. Sie übernimmt bis zu drei Argumente: ein Muster, 
gemäß dem zerlegt wird, den String, der zerlegt werden soll, und eine Obergrenze für 
die Anzahl an Listenelementen, die zurückgegeben werden sollen (optional). Wenn Sie 
keinen zu zerlegenden String als Argument übergeben, wird der in $_ gespeicherte 
Wert verwendet. Sie müssen auch nicht unbedingt ein Muster für die Zerlegung 
angeben. Wenn es fehlt, verwendet Perl die verschiedenen Whitespace-Zeichen als 
Begrenzer. Bei dem Musterargument handelt es sich immer um einen regulären 
Ausdruck der zwischen // steht. Um beispielsweise einen String an seinen 
Kommastellen zu zerlegen, sähe Ihr Muster so aus: /,/. Betrachten wir einige 
Beispiele:
# Leeres Muster zerlegt einen String in einzelne Zeichen
@buchstaben = split //, "wort";
# Ein Leerzeichen im Muster zerlegt einen Satz in seine
# einzelnen Wörter
@worte = split / /, "Dies ist ein Satz";
# Dieses Muster zerlegt den Satz bei jedem Whitespace-Zeichen und
# nicht nur bei Leerzeichen (entspricht dem Standard)
@worte = split /\s/, "Dies ist ein Satz";
# Das dritte Argument stellt sicher, dass nur die ersten zwei Elemente, die
# aus dem String extrahiert wurden, in der Liste zurückgeliefert werden.
($erstes, $zweites) = split /\s/, "Dies ist ein Satz", 2;
sprintf FORMAT, LISTE
  Die Perl-Funktion sprintf wird verwendet, um Strings nach den Konventionen für die 
C-Funktion sprintf zu formatieren. Nachstehend sehen Sie eine Tabelle, die eine 
Liste der Konvertierungen für sprintf enthält:
  Weitere Informationen zu den Konventionen für sprintf finden Sie in der Manpage 
zu printf(3).
sqrt AUSDRUCK
  sqrt liefert die Quadratwurzel von AUSDRUCK oder, wenn AUSDRUCK fehlt, von $_ zurück.
srand AUSDRUCK
  srand initialisiert den Zufallszahlengenerator von Perl. Wenn Sie AUSDRUCK fortlassen, 
wird srand(time) verwendet. Diese Funktion sollten Sie nur einmal in Ihrem 
Programm verwenden.
stat DATEIHANDLE
  Die stat-Funktion trägt Informationen über die in DATEIHANDLE angegebene Datei 
zusammen und liefert eine Liste dieser Informationen zurück. Diese Funktion kann 
auch einen Ausdruck, der einen Dateinamen enthält, statt eines geöffneten Datei-
Handles übernehmen. Wird kein Argument übergeben, verwendet stat den Wert von 
$_ als sein Argument. Die von stat zurückgelieferten Daten stehen in einer Liste und 
umfassen:
  Werfen wir einen kurzen Blick auf die von stat zurückgelieferten Werte. 
Folgendermaßen würde man eine Liste, die von stat zurückgegeben wurde, einer 
Gruppe von Variablen zuweisen:
($dev,$inode,$mode,$uid,$gid,$rdev,
$size,$atime,$mtime,$ctime,$blksize,$blocks) = stat $filename;
study SKALAR
study
  study nimmt sich Zeit, um SKALAR (oder $_, wenn SKALAR nicht angegeben wurde) zu 
studieren - mit dem Ziel, zukünftige Musterabgleiche auf dem Wert effizienter zu 
machen. Ob dies letzlich Zeit spart oder nicht, hängt davon ab, wie viele 
Musterabgleiche Sie machen wollen und welcher Art diese Abgleiche sind.
substr AUSDRUCK, OFFSET, LAENGE
substr AUSDRUCK, OFFSET
  substr wird verwendet, um eine Folge von Zeichen aus einem String zu extrahieren. 
Diese Funktion übernimmt drei Argumente, von denen das letzte optional ist. Die 
Argumente sind der Ausdruck, aus dem die Zeichen extrahiert werden sollen (kann ein 
skalarer Wert, eine Variable oder ein Aufruf an eine andere Funktion sein), die 
Position, an der mit dem Extrahieren der Zeichen begonnen werden soll, und optional 
die Anzahl der zu extrahierenden Zeichen. So liefert zum Beispiel der Aufruf 
substr("foobar", 3, 2); die Zeichenfolge ba zurück. Wenn Sie die Längenangabe 
(LAENGE) fortlassen, also substr("foobar", 3);, lautet der Rückgabewert bar. Sie 
können auch einen negativen Offsetwert verwenden. Dann wird die Position durch 
Rückwärtszählen vom Stringende an ermittelt. Das Beispiel substr("foobar", -4, 
2); liefert ob zurück.
symlink ALTEDATEI, NEUEDATEI
  Die Funktion symlink dient dazu, einen symbolischen Link von ALTEDATEI zu 
NEUEDATEI herzustellen. symlink löst einen fatalen Fehler aus, wenn das System 
symlink nicht unterstützt.
syscall LISTE
  syscall ruft den Systembefehl auf, der als erstes Argument in LISTE spezifziert 
wurde. Die restlichen Elemente in LISTE werden dem Systembefehl als Argumente 
übergeben.
sysopen DATEIHANDLE, DATEINAME, MODUS
sysopen DATEIHANDLE, DATEINAME, MODUS, PERMS
  Öffnet die in DATEINAME spezifizierte Datei und verbindet sie mit DATEIHANDLE. Wenn 
die Datei noch nicht existiert, wird sie erzeugt.
sysread DATEIHANDLE, SKALAR, LAENGE, OFFSET
sysread DATEIHANDLE, SKALAR, LAENGE
  Liest mit Hilfe des Systembefehls read(2) LAENGE-Bytes aus DATEIHANDLE in SKALAR 
ein. Zurückgeliefert wird die Anzahl der eingelesenen Bytes oder undefined, wenn ein 
Fehler auftrat. Verwenden Sie OFFSET, wenn Sie die eingelesenen Bytes nicht an den 
Anfang des Strings, sondern eine um OFFSET-Bytes verschobene Position schreiben 
wollen.
sysseek DATEIHANDLE, POSITION, VONWOAUS
  Ähnlich der seek-Funkton. Allerdings wird der Systemaufruf lseek(2) anstelle von 
fseek(2) verwendet.
system LISTE
  Die system-Funktion entspricht dem Aufruf exec LISTE, mit der Ausnahme, dass sie 
in einen neuen Prozeß verzweigt und in diesem Prozeß die Befehle in LISTE ausführt 
und dann zurückkehrt.
syswrite DATEIHANDLE, SKALAR, LAENGE, OFFSET
syswrite DATEIHANDLE, SKALAR, LAENGE
  syswrite versucht mit Hilfe des Systemaufrufs write(2)  LAENGE-Bytes der Daten aus 
der Variablen SKALAR in DATEIHANDLE zu schreiben. Zurückgeliefert wird die Anzahl 
der geschriebenen Bytes oder, im Falle eines Fehlers, undefined.
tell DATEIHANDLE
  tell liefert die aktuelle Position für das spezifizierte Datei-Handle zurück. Wenn kein 
Datei-Handle angegeben wird, enthält der Rückgabewert die Position der zuletzt 
gelesenen Datei.
telldir VERZEICHNISHANDLE
  telldir liefert die aktuelle Position in dem angegeben Verzeichnis-Handle.
tie VARIABLE, KLASSENNAME, LISTE
  tie bindet eine Variable an eine Paketklasse, die eine Implementierung für die 
Variable bereitstellt. VARIABLE ist der Name der zu bindenden Variablen und 
KLASSENNAME der Name der Klasse, die Objekte des korrekten Typs implementiert. 
Alle zusätzlichen Argumente werden der new-Methode der Klasse übergeben.
tied VARIABLE
  Falls VARIABLE an ein Paket gebunden ist, liefert tied eine Referenz auf das der 
VARIABLE zugrundeliegende Objekt zurück. Ist die Variable nicht gebunden, lautet der 
Rückgabewert undefined.
time
  Die time-Funktion liefert die Anzahl an Sekunden zurück, die seit Beginn des 
systemspezifischen Referenzdatums verstrichen sind. Dieser Zeitpunkt liegt auf den 
meisten Systemen bei 00:00:00 UTC, 1. Januar, 1970 und auf dem Macintosh-
Betriebssystem bei 00:00:00 1. Januar 1904. Der zurückgelieferte Wert wird 
meistens localtime oder gmtime zur Formatierung übergeben.
times
  times liefert ein Array mit vier Elementen zurück, das den Benutzer und die 
Systemzeiten für den aktuellen Prozeß und dessen Kinder enthält. Hier ein Beispiel:
($user, $system, $cuser, $csystem) = times;
truncate DATEIHANDLE, LAENGE
truncate AUSDRUCK, LAENGE
  Verkürzt die Datei, die durch DATEIHANDLE oder AUSDRUCK spezifiziert wurde, auf die in 
LAENGE definierte Länge. Wenn truncate auf dem System nicht implementiert ist, 
wird ein fataler Fehler ausgelöst.
uc AUSDRUCK
  Im Gegensatz zu lc, das alle Buchstaben in einem String in Kleinbuchstaben 
konvertiert, konvertiert uc alle Buchstaben eines Strings in Großbuchstaben.
ucfirst AUSDRUCK
  Liefert AUSDRUCK zurück, nachdem das erste Zeichen in einen Großbuchstaben 
konvertiert wurde.
umask AUSDRUCK
  umask wird verwendet, um die Standard-umask-Maske für den Prozeß zu setzen. Die 
Funktion übernimmt eine Oktalzahl (keinen String von Ziffern). Die Funktion umask ist 
nützlich, wenn Ihr Programm eine Reihe von Dateien erzeugt. Wenn AUSDRUCK 
fortgelassen wird, liefert umask die aktuelle umask-Maske zurück.
undef AUSDRUCK
  undef wird verwendet, um den Wert einer Variablen zu löschen. Die Funktion kann 
auf einer Skalarvariablen, einem ganzen Array oder einem ganzen Hash angewendet 
werden.
unlink (LISTE)
  unlink löscht die Dateien, die ihr via LISTE übergeben wurden. Rückgabewert ist die 
Anzahl der Dateien, die erfolgreich gelöscht wurden. Wurde unlink keine Liste 
übergeben, wird $_ als Argument verwendet.
unpack SCHABLONE, AUSDRUCK
  unpack ist das Gegenstück zu pack. Sie übernimmt eine Datenstruktur und übersetzt 
sie in eine Liste, die auf einer SCHABLONE basiert. Das SCHABLONEN-Format ist das 
gleiche wie für pack.
unshift ARRAY, LISTE
  Die unshift-Funktion fügt einen skalaren Wert als das erste Element in ein Array ein 
und verschiebt die Indizes aller folgenden Elemente im Array um eins.
utime LISTE
  utime ist das Perl-Äquivalent zu dem Unix-Befehl touch. Die Funktion setzt die 
Zugriffs- und Änderungszeiten für eine Liste von Dateien. Die ersten zwei Argumente 
müssen die numerischen Zugriffs- und Änderungszeiten für die Dateien enthalten. Bei 
allen folgenden Argumenten wird davon ausgegangen, dass es sich um Dateien 
handelt, deren Zugriffs- und Änderungszeiten geändert werden sollen. Die Funktion 
liefert die Zahl der Dateien zurück, die erfolgreich bearbeitet wurden.
values HASH
  Diese Funktion liefert ein Array zurück, das die Werte (values) für die Elemente aus 
einem Hash enthält. Die Funktion ist damit das Pendant der Funktion keys, die ein 
Array der Schlüssel aus einem Hash zurückliefert.
vec AUSDRUCK, OFFSET, BITS
  vec behandelt einen String (spezifiziert in AUSDRUCK) als einen Vektor von 
vorzeichenlosen Integerwerten und liefert den Wert des von OFFSET spezifizierten 
Bitfeldes zurück.
wait
  wait wartet einfach auf das Ende eines Kindprozesses und liefert dann die PID dieses 
Prozesses zurück.
waitpid PID, FLAGS
  Die Funktion waitpid wartet darauf, dass ein bestimmter Kindprozeß (spezifiziert in 
PID)  beendet wird, und liefert dann die Prozeß-ID für den toten Prozeß zurück.
wantarray
  wantarray liefert wahr zurück, wenn der Kontext der gerade ausgeführten Subroutine  
einen Listenwert benötigt. Wenn die Funktion in einem skalaren oder leeren Kontext 
aufgerufen wird, liefert sie falsch zurück. Um zu vermeiden, dass die ganze Subroutine 
ausgeführt wird, können Sie folgende Anweisung verwenden, die sicherstellt, dass die 
Subroutine in einem Listenkontext aufgerufen wurde:
return unless defined wantarray;
warn LISTE
  warn wird verwendet, um eine Nachricht an die Standardfehlerausgabe zu schicken, 
ohne dass dabei das Programm beendet wird. Abgesehen von der Tatsache, dass das 
Programm die Ausführung nicht unterbricht, entspricht diese Funktion der Funktion 
die.
write DATEIHANDLE
  Die write-Funktion wird verwendet, um Daten mit Hilfe einer Schablone auszugeben, 
die mit der format-Funktion definiert wurde. Weitere Informationen hierzu 
entnehmen Sie bitte der perlform-Manpage.




