| perlfunc Dokumentation | Download als POD | Wie kann ich hier etwas ändern? |
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.
chomp , chop , chr , crypt , hex , index , lc , lcfirst , lenght , oct , ord , pack , q/STRING/ , qq/STRING/ , reverse , rindex , sprintf , substr , tr/// , uc , ucfirst , y///
m// , pos , quotemeta , s/// , split , study , qr//
abs , atan2 , cos , exp , hex , int , log , oct , rand , sin , sqrt , sqrt
pop , push , shift , splice , unshift
grep , join , qw/STRING/ , reverse , sort , unpack
delete , each , exists , keys , values
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
pack , read , syscall , sysread , syswrite , unpack , vec
-X , chdir , chmod , chown , chroot , fcntl , glob , ioctl , link , lstat , mkdir , open , opendir , readlink , rename , rmdir , stat , symlink , sysopen , umask , unlink , utime
caller , continue , die , do , dump , eval , exit , goto , last , next , redo , return , sub , wantarray
caller , import , local , my , our , package , use
defined , dump , eval , formline , local , my , our , reset , scalar , undef , wantarray
alarm , exec , fork , getpgrp , getppid , getpriority , kill , pipe , qx/STRING/ , setpgrp , setpriority , sleep , system , times , wait , waitpid
do , import , no , package , require , use
bless , dbmclose , dbmopen , package , ref , tie , tied , untie , use
accept , bind , connect , getpeername , getsockname , getsockopt , listen , recv , send , setsockopt , shutdown , socket , socketpair
msgctl , msgget , msgrcv , msgsnd , semctl , semget , semop , shmctl , shmget , shmread , shmwrite
endgrent , endhostent , endnetent , endpwent , getgrent , getgrgid , getgrnam , getlogin , getpwent , getpwnam , getpwuid , setgrent , setpwent
endprotoent , endservent , gethostbyaddr , gethostbyname , gethostent , getnetbyaddr , getnetbyname , getnetent , getprotobyname , getprotobynumber , getprotoent , getservbyname , getservbyport , getservent , sethostent , setnetent , setprotoent , setservent
gmtime , localtime , time , times
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.
dbmclose , dbmopen
-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.
-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
| I | Attachment | Action | Size | Date | Who | Comment |
|---|---|---|---|---|---|---|
| |
perlfunc.pod | manage | 12.4 K | 2006-11-15 - 07:37 | GregorGoldbach | Rechtschreibung, Du -> Sie, Bindung -> Rangfolge |