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