hallo,
ich habe im archiv gelesen, dass es ein unschöner programmierstil sei, wenn subroutinen mit exit beendet werden.
Jein.
Du beendest ja in deinem Falle nciht die subroutine, sondern möchtest das Programm beenden und dann ist exit die Wahl.
open(FH, ">a.txt") or exit(&test);
?????
exit ist ein Perl Funktion und der übergibst du den Rückgabewert der Funktion test?
sinnvoller:
open(FH, ">a.txt") or die "Kann a.txt nicht öffnen, weil: $!";
oder eben
open(FH, ">a.txt") or test("Kann a.txt nicht öffnen, weil: $!");
sub test {
print $_[0];
exit;
}
exit sollte nur in ausnahmefällen verwendet werden, weil der Code dadurch schwerer wartbar wird. aber in so einem Falle, d.h. bei einem schweren Fehler, durchaus üblich.
Struppi.