Philipp Hasenfratz: exit in subroutine - kein guter programmierstil

Beitrag lesen

Halihallo dennis

ich ich habe vorhin gelesen das man exit in subroutinen nicht verwenden soll weil es kein guter programmierstil ist. man soll lieber ein return-anweisung in der subroutine haben und dann den exit befehl irgenwo anders ausführen.

exit sollte sowieso nur in der Shell für die Interaktion mit anderen Programmen
verwendet werden, ansonsten ist "die" oder "croak" wohl sinnvoller, sodass man auch
weiss, woran das Programm gestorben ist.

wie soll den sowas aus sehen?

sub test_it {
   return 0 unless (-e 'test.txt');  # tja, wenn die Datei nicht existiert, stirb!
   open( F, '<./test.txt' ) || return 0;
   # do something with F
   close(F) || return 0;
   return 1;
}

exit(test_it());

Wenn ein Programm nun dieses startet, wird es über den Exit-Code über den (Miss-)Erfolg
informiert (entweder Exit-Code 0 oder 1).

PS: Ich hoffe du hast Perl gemeint, ansonsten walte der Analogie. In beiden Fällen jedoch
schreib die verwendete Programmiersprache an.

Viele Grüsse

Philipp

--
RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.