Struppi: Abfrage des Rückgabewertes einer Funktion

Beitrag lesen

Die Funktion liest eine Datei und liefert den Dateiinhalt (return $inhalt),
wenn die Datei vorhanden ist und der Inhalt nicht leer ist.

Das wäre OK, aber das ...

Im anderen Fall wird je nach Zustand -2, -1, 0 zurückgeliefert.

ist natürlich Murks. Zumindest absolut ungewöhnlich, dass eine Funktion entweder eine Zahl oder einen String zurückgibt.

die einfachste Variante wäre wenn deine Funktion ein array mit einem Status zurückgibt:

sub deineFunktion {  
#...  
return wantarray ? ($inhalt, $status) : $inhalt;  
}  
  
my($inhalt, $status) = deineFunktion();  

Ist ein Text > 0, d.h. ist die Abfrage "if (myfunc) {#Text vorhanden}" korrekt?

Es würde zwar funktionieren, ruft aber eine Warnungen hervor (wenn du mit use warnings arbeitest, was du solltest).

Struppi.