ein Kapitel zurück                                           ein Kapitel weiter

Selbst für Fehlerbehandlungen gibt es in Perl reservierte Variablen.....

$? - Fehlerstatus des system()-Aufrufs
$! - Numerische Fehlerkontex errno
$@ - eval()-Fehler (wurde bereits im Kapitel eval durchgenommen)


Sehen wir uns auch hierzu ein Beispiel an....

#!/usr/bin/perl -w

$system1="lds -l";

system($system1);
print $? , "\n"; #-1
print $! , "\n"; #Datei oder Verzeichnis nicht gefunden

$!=0;

system("echo Hallo Welt");
print $? , "\n"; #0
print $! , "\n"; #keine Ausgabe


Mit der reservierten Variablen $? geben wir den Rückgabestatus von einem system-Aufruf zurück. Und dieser ist wie in C bei Erfolg 0 und bei Fehler -1. Es wird hier auch auf die C-Funktion zurückgegriffen.

Die Variable $! gibt den Fehlercode zurück der in errno steht. Mehr dazu können sie unter man errno nachlesen. Auch hier gilt wie in C, errno nach jeder Verwendung wieder auf 0 zurückzusetzen, da sonst der alte Wert in errno stehen bleiben könnte obwohl kein Fehler aufgetreten ist.

ein Kapitel zurück          nach oben           ein Kapitel weiter


© 2001,2002 Jürgen Wolf