[Dresden-pm] exitcode und die?

Maik Hentsche maik at mm-double.de
Mi Jun 9 13:11:55 PDT 2010


Hans-Dietrich Kirmse <hd.kirmse at gmx.de> wrote:

> ich schon wieder - sorry, dass ich mit meinen vielen Fragen komme.

Fragen sind grundsätzlich nicht schlimmes. Manche Leute lernen auf die
Art.

> wir bauen an einem Schulserver-Projekt und die Routinen z.B. zur
> klassenweise Verwaltung der Schüler habe ich als Perlscripte
> bereitgestellt. Die Oberfläche wird durch einen anderen Mitstreiter in
> PHP erstellt. Er bemängelte, dass dann, wenn bei mir die Scripte durch
> eine Ausnahmen, also mit "die" beendet werden, keine Fehlernummer
> zurückgegeben wurde. Er schrieb mir, dass der Exit-Code 0
> zurückgegeben wird.

die() beendet sich mit dem aktuellen Wert von $!. Wenn das gleich null
ist, dass nimmt die() "($? >> 8)" - den Status des letzten
qx()-Aufrufs. Wenn das auch gleich 0 ist, dann ist der Exitcode 255.
Steht alles noch mal in perldoc -f die. Ein exitcode 0 für die() ist
also schon extrem ungewöhnlich. Prüf es einfach noch mal nach und wenn
es wirklich so ist, paste [1] deinen Code und schick uns einen Link.

> Ich mache intensiven Gebrauch von "die", aber ich weiss nicht, wie man
> da eine Fehlernummer zurückgeben kann. Mit exit geht das natürlich,
> aber die Lösung ist im Vergleich zu "die" unschön.

Die ist letztendlich auch nichts anderes als ein warn() und exit() mit
ein bisschen Intelligenz dran. Und Schönheit liegt sicher im Auge des
Lesers.

so long & HTH
Maik

[1] !google pastebin

-- 
Der Verstand ist wie eine Fahrkarte. Sie hat nur Sinn wenn man sie
benutzt. (Ernst R. Hauschka (*1926), deutscher Essayist,
Aphoristiker und Bibliothekar)
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 189 bytes
Beschreibung: nicht verfügbar
URL         : <http://mail.pm.org/pipermail/dresden-pm/attachments/20100609/47072dd5/attachment.bin>


Mehr Informationen über die Mailingliste Dresden-pm