Siechfred: return: "leere" Werte als Rückgabe erlauben

Beitrag lesen

Hell-O!

Eine Subroutine soll aus einer Datei einen Wert auslesen und diesen ans Hauptprogramm zurückgeben. Wenn innerhalb der Subroutine ein Fehler passiert (z.B. Datei kann nicht geöffnet werden), wird die Fehlermeldung in $@ gespeichert und die Subroutine mit 'return 0'; abgebrochen, ansonsten wird am Ende der Subroutine mit 'return $value;' der ausgelesene Wert zurückgegeben

Eleganter wäre es, wenn die Subroutine bei einem Fehler 'undef' zurückgibt. Prüfen kannst du das dann ganz einfach:

die $@ unless defined (my $value = $accounts->getValue($id,'name'));

Ist $value nicht definiert, gibt's eine Fehlermeldung, anderenfalls steht dir $value im weiteren mit dem Rückgabewert zur Verfügung.

Siechfred

--
Hier könnte Ihre Werbung stehen.
Das Steuer-Blog | Siechfreds Tagebuch