Hell-O!
1.) Klar, ordentlich ist es, wenn Dateien per Programm geschlossen werden. Wenn nicht, werden alle Dateien nach Ausführung von exis(0) automatisch geschlossen und die Resourcen freigegeben?
Es gibt zwei Möglichkeiten, Dateien zu schließen: explizit durch Aufruf von close FH
oder implizit. Letzteres geschieht, wenn du eine bereits offene Datei erneut öffnest oder wenn das Script beendet wird. Allerdings dient das Ganze nur der Vereinfachung, denn du hast dann keinerlei Kontrolle darüber, ob das Schließen erfolgreich war. Besser so:
close FH or die "Can't close file: $!";
Besonderheiten des impliziten Schließens nennt dir auch perldoc -f close.
Was passiert mit den offenen Dateien, wenn sich das Programm selbst wieder aufruft?
Nichts, denn es gibt keine offenen Dateien.
2.) Bleiben die Variablen erhalten, wenn sich das Programm wieder selbst aufruft, oder sind my-Definitionen und die Inhalte verloren?
Letzteres.
Siechfred
Ich bin strenggenommen auch nur interessierter Laie. (molily)
Zitat des Tages || Falle Aufteilungsbescheid || RT 221 Erfurt-Altstadt i.V.