Hallo,
Es ist einfach unschön, das Programm in einer Schleife oder Prozedur zu beenden.
Oder um einfach die Dokumentation zu exit() zu zitieren:
Don't use exit to abort a subroutine if there's any chance that someone might want to trap whatever error happened. Use die instead, which can be trapped by an eval.
In Modulen verwende ich grundsätzlich kein exit() um den Blackbox-Ansatz aufrecht zu erhalten. Im main-Kontext kann es aber andererseits durchaus vorkommen, daß ich in Prozeduren das eine oder andere exit() verwende. Dann allerdings i.d.R. in Verbindung mit einem END-Block, um allfällige Aufräumarbeiten zu erledigen.
Warum Du allerdings in Schleifen auch kein exit() benuzen willst, kann ich nicht so wirklich nachvollziehen. EIn all zu starres Festhalten an irgendwelchen Programmierrichtlinien (die Betonung liegt auf 'starres') finde ich an sich nicht gut, da es schnell dazu kommt, daß sie dann dogmatisch angewandt werden. Und ich habe grundsätzlich was gegen Dogmen;-)
Grüße
Klaus