Moin!
"exit" an der passenden Stelle kann Dir ersparen, für die Alternative ein riesiges, unübersichtliches "if"-Konstrukt aufzubauen.
Denn zusammenhang versteh ich nicht. Wenn ich irgendwo ein exit einbaue, dann schreib ich keine if-Abfragen mehr?
Denk dir sowas in der Art:
if (es_reicht_den_header_304_zu_senden)
{
gib_304_an_browser();
exit;
}// Hier Ausgabe der kompletten Seite über viele viele Programmzeilen Here-Dokument.
Machst du sowas?
Ich nicht. entweder ich bau die Ausgabe in verschiedenen subs zusammen und/oder verwende CGI.pm oder HTML::Template. Darüber hinaus gibt's noch dieses inline Perl.
Ausserdem, wenn's nur darum geht einen Header zu senden, ist exit durchaus legitim, dann würd ich sogar das exit in der Funktion verstecken, wenn klar ist, dass nach einem entsprechendem header keine Daten mehr kommen müssen
Also so:
gib_304_an_browser() if es_reicht_den_header_304_zu_senden();
Aber wie gesagt, das verwenden von exit sollte wohlüberlegt sein. Ich habe nie behauptet, dass es nicht verwendet werden darf. Wenn es dir oder dem OP Spaß macht ein exit (das nebenbei, wenn schon denn schon einen Code mitgeben sollte) zu verwenden, spricht nichts dagegen. Man sollte sich nur im klaren sein, das es quasi einen Fluß abbricht und unter Umständen in einem großen Projekt schwer zu pflegen sein kann, wenn an verschiedenen Stellen das Programm abgebrochen wird. Da ein CGI Programm eben eine saubere Ausgabe bringen muss.
Struppi.