opi: return-Wert von Subfunktionen

Beitrag lesen

Hallo und guten Morgen zusammen,

folgendes Problem liegt mir auf dem Herzen:

sub func {
   my %daten;
   if(open(FILE,"</datei")) {
      ... Verarbeitung ...
      return(%daten);
   }
   else { return; }
}

my %conf=func();

if(%conf) { ... }
else { ... }

Ich möchte den Hash %conf mit Daten füllen. Was mache ich aber nun, wenn die Funktion einen Fehler zurückliefern soll, weil zum Beispiel eine Datei nicht geöffnet werden konnte?

In dem Beispiel gebe ich dann ganz einfach in der else-Anweisung ein return ohne Wert zurück. Wenn ich dann %conf in einer If-Anweisung abfrage, funktioniert es auch, aber ist das so richtig? Gibt es einen besseren Lösungsansatz?

Wäre super, wenn mir da jemand helfen könnte

Greez,
opi

--
Für Syntaxfehler bitte ich um Entschuldigung!