You are here: Perldoc Web>PerlDokumentListe>Perlfunc (2006-11-15)
perlfunc Dokumentation | Download als POD | Wie kann ich hier etwas ändern?

NAME

perlfunc - Perls eingebaute Funktionen

BESCHREIBUNG

Die Funkionen, die hier beschrieben werden, können als Term in Ausdrücken dienen. Sie unterteilen sich ein zwei Hauptkategorien: Listenoperatoren und benannte, unäre Operatoren. Sie unterscheiden sich in der Rangfolgenbeziehung zu einem folgenden Komma. (Siehe Rangfolgentabelle in perlop.) Listenoperatoren können mehr als ein Argument haben wobei unäre Operatoren immer nur ein Argument haben können. Also beendet ein Komma das Argument von unären Operatoren, aber bei Listenoperatoren trennt es lediglich die Argumente voneinander. Ein unärer Operator unterstüzt nur skalaren Kontext für sein Argument, während Listenoperatoren entweder skalaren oder Listenkontext unterstützen. Wenn beides möglich ist, sind die skalaren Argumente am Anfang gefolgt von dem Listenargument. (Merke: Es kann immer nur ein Listenargument geben.) Beispielsweise hat splice() drei skalare Argumente gefolgt von einer Liste, während gethostbyname() nur vier skalare Argumente hat.

In der folgenden Syntaxbeschreibung sind Listenoperatoren, die eine Liste als Argument erwarten (und diese auch im Listenkontext unterstützen), als LIST gekennzeichnet. Solch eine Liste kann aus skalaren Argumenten oder Listenwerten bestehen; die Listenwerte werden einzeln interpoliert in die Liste eingefügt, was eine längere eindimensionale Liste ergibt. Elemente von LIST sollten mit Kommas getrennt werden.

Jede der folgenden Funktionen kann mit oder ohne runde Klammern, die die Argumente umschließen, genutzt werden. (Die Syntaxbeschreibung lässt runde Klammern weg.) Wenn Sie runde Runde Klammern benutzen, gibt es lediglich eine einfache (aber gelegentlich überraschende) Regel zu beachten: Es sieht aus wie eine Funktion, deswegen ist es eine Funktion und die Rangfolge wird nicht beachtet. Ansonsten ist es ein Listenoperator oder ein unärer Operator und die Rangfolge wird beachtet. Leerraum zwischen Funktionsnamen und der linken runden Klammer wird nicht beachtet - also müssen Sie manchmal vorsichtig sein:

    print 1+2+4;      # gibt 7 aus.
    print(1+2) + 4;   # gibt 3 aus.
    print (1+2)+4;    # gibt auch 3 aus!
    print +(1+2)+4;   # gibt 7 aus.
    print ((1+2)+4);  # gibt 7 aus.  

Wenn Sie Perl mit dem -w - Switch laufen lassen, wird es Sie warnen. Die dritte Zeile produziert zum Beispiel:

    print (...) interpreted as function at - line 1.
    Useless use of integer addition in void context at - line 1.  

Einige wenige Funktionen haben überhaupt keine Argumente und arbeiten deswegen weder als unäre Operatoren noch als Listenoperatoren. Das sind unter anderem Funktionen wie time? und endpwent?. Zum Beispiel bedeutet time+86_400 immer time() + 86_400 .

Bei Funktionen, die entweder im skalaren oder im Listenkontext genutzt werden können, und im Fehlerfall nicht das Programm abbrechen, geben im skalaren Kontext einen undefinierten Wert zurück und im Listenkontext die Null-Liste.

Merke : Es gibt keine Regel für das Verhalten eines Ausdrucks im skalaren Kontext zu dem im Listenkontext oder umgekehrt. Es kann zwei völlig verschiedene Sachen machen. Jeder Operator und Funktion entscheidet für sich selbst, welche Reihenfolge der Werte am geeignetesten für die Rückgabe im skalaren Kontext sind. Manche Operatoren geben die Länge einer Liste zurück wenn sie im skalaren Kontext aufgerufen wurden. Manche Operatoren geben das letzte Element der Liste zurück. Manche Operatoren geben die Anzahl der erfolgreich durchgeführten Operationen zurück. Normalerweise machen sie das, was Sie wollen, außer Sie wollen konsistentes Verhalten.

Ein benanntes Array im skalaren Kontext ist was ganz anderes als das, was auf den ersten Blick wie eine Liste im skalaren Kontext aussieht. Sie erhalten keine Liste wie (1,2,3) in einem skalaren Kontext, weil der Compiler den Kontext zum Übersetzungszeit kennt. Dort würde es den skalaren Komma-Operator erzeugen, nicht den Listen Komma-Operator. Das bedeutet, dass der Ausdruck von Anfang an keine Liste war.

Im Allgemeinen geben Funktionen, die in Perl als Wrapper für Systemaufrufe mit dem selben Namen (wie chown(2), fork(2), closedir(2), etc.) dienen, wahr zurück, wenn sie erfolgreich waren, ansonsten undef?, wie es normalerweise in den Beschreibungen weiter unten erwähnt wird. Das unterscheidet sich im Gegensatz zu der C-Schnittstelle, die -1 bei Fehlschlag zurückgibt. Ausnahmen dieser Regel sind wait?, waitpid? und syscall?. Systemaufrufe setzen im Fehlerfall außerdem die Spezialvariable $!. Andere Funktionen machen das nicht, Zufälle ausgenommen.

Perlfunktionen nach Kategorie

Hier sind Perls nach Kategorie geordnete Funktionen (einschließlich Sachen, die aussehen wie Funktionen, wie einige Schlüsselwörter und benannte Operatoren). Manche Funktionen werden an mehreren Stellen aufgeführt.

Funktionen für SKALARE oder Zeichenketten

chomp , chop , chr , crypt , hex , index , lc , lcfirst , lenght , oct , ord , pack , q/STRING/ , qq/STRING/ , reverse , rindex , sprintf , substr , tr/// , uc , ucfirst , y///

Reguläre Ausdrücke und Mustererkennung

m// , pos , quotemeta , s/// , split , study , qr//

Numerische Funktionen

abs , atan2 , cos , exp , hex , int , log , oct , rand , sin , sqrt , sqrt

Funktionen für @ARRAYS

pop , push , shift , splice , unshift

Funktionen für Listen

grep , join , qw/STRING/ , reverse , sort , unpack

Funktionen für %HASHES

delete , each , exists , keys , values

Eingangs-/Ausgangsfunktionen

binmode , close , closedir , dbmclose , dbmopen , die , eof , fileno , flock , format , getc , print , printf , read , readdir , rewinddir , seek , seekdir , select , syscall , sysread , sysseek , syswrite , tell , telldir , truncate , warn , write

Funktionen für Daten mit fester Länge

pack , read , syscall , sysread , syswrite , unpack , vec

Funktionen für Dateihandles, Dateien und Verzeichnisse

-X , chdir , chmod , chown , chroot , fcntl , glob , ioctl , link , lstat , mkdir , open , opendir , readlink , rename , rmdir , stat , symlink , sysopen , umask , unlink , utime

Schlüsselwörter zur Ablaufkontrolle des Perl Programms

caller , continue , die , do , dump , eval , exit , goto , last , next , redo , return , sub , wantarray

Schlüsselwörter für Scoping

caller , import , local , my , our , package , use

Diverse Funktionen

defined , dump , eval , formline , local , my , our , reset , scalar , undef , wantarray

Funktionen für Prozesse und Prozessgruppen

alarm , exec , fork , getpgrp , getppid , getpriority , kill , pipe , qx/STRING/ , setpgrp , setpriority , sleep , system , times , wait , waitpid

Schlüsselwörter für Perlmodule

do , import , no , package , require , use

Schlüsselwörter für Klassen und OOP

bless , dbmclose , dbmopen , package , ref , tie , tied , untie , use

Funktionen für Socket-Verbindungen

accept , bind , connect , getpeername , getsockname , getsockopt , listen , recv , send , setsockopt , shutdown , socket , socketpair

System V (UNIX) Interprozess-Kommunikation

msgctl , msgget , msgrcv , msgsnd , semctl , semget , semop , shmctl , shmget , shmread , shmwrite

Abrufen von Benutzer- und Gruppeninformationen

endgrent , endhostent , endnetent , endpwent , getgrent , getgrgid , getgrnam , getlogin , getpwent , getpwnam , getpwuid , setgrent , setpwent

Abrufen von Netzwerkinformationen

endprotoent , endservent , gethostbyaddr , gethostbyname , gethostent , getnetbyaddr , getnetbyname , getnetent , getprotobyname , getprotobynumber , getprotoent , getservbyname , getservbyport , getservent , sethostent , setnetent , setprotoent , setservent

Zeitbezogene Funktionen

gmtime , localtime , time , times

Neue Funktionen in Perl5

abs , bless , chomp , chr , exists , formline , glob , import , lc , lcfirst , map , my , no , our , prototype , qx , qw , readline , readpipe , ref , sub* , sysopen , tie , tied , uc , ucfirst , untie , use

* - sub war in Perl4 noch ein Schlüsselwort, in Perl5 ist es ein Operator, der nun auch in einem Ausdruck genutzt werden kann.

Veraltete Funktionen in Perl5

dbmclose , dbmopen

Protabilität

Da Perl auf UNIX entstanden ist, beherrscht es alle allgemeinen UNIX-Systemaufrufe. Auf nicht-UNIX Umgebungen können manche Systemaufrufe nicht vorhanden sein oder Feinheiten der Funktionalität können etwas abweichen. Die Perl-Funktionen, die davon betroffen sind, sind:

-X , binmode , chmod , chown , chroot , crypt , dbmclose , dbmopen , dump , endgrent , endhostent , endnetent , endprotoent , endpwent , endservent , exec , fcntl , flock , fork , getgrent , getgrgid , gethostent , getlogin , getnetbyaddr , getnetbyname , getnetent , getppid , getprgp , getpriority , getprotobynumber , getprotoent , getpwent , getpwnam , getpwuid , getservbyport , getservent , getsockopt , glob , ioctl , kill , link , lstat , msgctl , msgget , msgrcv , msgsnd , open , pipe , readlink , rename , select , semctl , semget , semop , setgrent , sethostent , setnetent , setpgrp , setpriority , setprotoent , setpwent , setservent , setsockopt , shmctl , shmget , shmread , shmwrite , socket , socketpair , stat , symlink , syscall , sysopen , system , times , truncate , umask , unlink , utime , wait , waitpid

Weiterführende Informationen zur Portabilität dieser Funktionen findest Du unter perlport und andere Plattform-spezifische Dokumentation.

Alphabetische Auflistung aller Perl Funktionen

-X ,

abs , accept , alarm , atan2 ,

bind , binmode , bless ,

caller , chdir , chmod , chomp , chop , chown , chr , chroot , close , closedir , connect , continue , cos , crypt ,

dbmclose , dbmopen , defined , delete , die , do , dump ,

each , endgrent , endhostent , endnetent , endprotoent , endpwent , endservent , eof , eval , exec , exists , exit , exp ,

fcntl , fileno , flock , fork , format , formline ,

getc , getgrent , getgrgid , getgrnam , gethostbyaddr , gethostbyname , gethostent , getlogin , getnetbyaddr , getnetbyname , getnetent , getpeername , getpgrp , getppid , getpriority , getprotobyname , getprotobynumber , getprotoent , getpwent , getpwnam , getpwuid , getservbyname , getservbyport , getservent , getsockname , getsockopt , glob , gmtime , goto , grep ,

hex ,

import , index , int , ioctl ,

join ,

keys , kill ,

last , lc , lcfirst , length , link , listen , local , localtime , lock , log , lstat ,

m , map , mkdir , msgctl , msgget , msgrcv , msgsnd , my ,

next , no ,

oct , open , opendir , ord , our ,

pack , package , pipe , pop , pos , print , printf , prototype , push ,

q , qq , qr , quotemeta , qw , qx ,

rand , read , readdir , readline , readlink , readpipe , recv , redo , ref , rename , require , reset , return , reverse , rewinddir , rindex , rmdir ,

q s , scalar , seek , seekdir , select , semctl , semget , semop , send , setgrent , sethostent , setnetent , setpgrp , setpriority , setprotoent , setpwent , setservent , setsockopt , shift , shmctl , shmget , shmread , shmwrite , shutdown , sin , sleep , socket , socketpair , sort , splice , split , sprintf , sqrt , srand , stat , study , sub , substr , symlink , syscall , sysopen , sysread , sysseek , system , syswrite ,

tell , telldir , tie , tied , time , times , tr , truncate ,

uc , ucfirst , umask , undef , unlink , unpack , unshift , untie , use , utime ,

values , vec ,

wait , waitpid , wantarray , warn , write ,

y

Übersetzung

Alexander Köppe Gregor Goldbach


Kommentare:

-- HaraldBongartz - 29 Jun 2003
Topic attachments
I Attachment Action Size Date Who Comment
perlfunc.podpod perlfunc.pod manage 12.4 K 2006-11-15 - 07:37 GregorGoldbach Rechtschreibung, Du -> Sie, Bindung -> Rangfolge
Topic revision: r4 - 2006-11-15 - 07:37:11 - GregorGoldbach
 
Bitte die NutzungsBedingungen beachten.
Bei Vorschlägen, Anfragen oder Problemen mit dem PerlCommunityWiki bitten wir um WebBottomBarExample">Rückmeldung.