pl: Return Value

Beitrag lesen

$? war mir schon klar, ich hatte ein logisches Problem ;)

In Fakt ist es ein bischen komplizierter, weil die Funktionen/Methoden die ich remote aufrufe nicht nur Systemaufrufe tätigen oder ins Dateisystem greifen sondern beispielsweise auch mit MySQL reden.

Idealerweise wird bei Fehlern eine Exception geworfen, die wird vom Remote-Framework aufgefangen und über den HTTP Status 502 an mein Lokales Kommandozeilen-Framework kommuniziert (todo: Status auswerten).

Da meine Remote-Funktionen auch ohne Fehlerfall ohne Return-Value zurückkommen können hab ich die Logik erweitert:

$self->{CONTENT} = $rpc->$coderef(%$in) || $? || $! || $^E || $@ || "OK";

Das sind zum Einen alle in Frage kommenden Perlvars erfasst und zum Anderen auch der Fall, dass eine Funktion im Erfolgsfall nichts zurückgibt.