sub func {
my %daten;
if(open(FILE,"</datei")) {
Das du das öffnen von Dateien immer prüfen solltest hat Biesterfeld ja schon versucht auszuführen.
... Verarbeitung ...
return(%daten);
Wozu die Klammer?
}
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?
Nein, das ist eine gute Möglichkeit.
Struppi.