hatz has asked for the wisdom of the Perl Monks concerning the following question:
I was coming back to perl coding recently, and I have doubts about a couple of things concerning "exiting my program with die or exit while another file is opened".
I finished writing a ~1k lines script which is "reading files, checking stuffs, reporting errors with print() and exiting in case of blocking error" and I figured I had to add a log file to make it easier to use.
My 2 questions are :
1/ What is the best way to deal with it? I already thought about it and cam with several ideas:
- write a subroutine print_log() to replace my print() information text. The drawback of it is that the log file is opened and closed a lot of time and I'm afraid about performances
- use a global filehandle and close the file at the very end of the program. The drawback here is that I've always heard "close what you open", so I'm not sure what would happen if my program exits before my close() command because of other reasons such as another file that cannot be opened (the famous "open $bar or die")
2/ Is it really a problem to have one file left opened before exiting the program? (is it dangerous?)
I probably miss easier solutions to deal with log file writing, and I am eager to learn any good habit to make my code better.
Thank you
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: die command while other files are opened
by Apero (Scribe) on Dec 05, 2015 at 04:29 UTC | |
|
Re: die command while other files are opened
by Athanasius (Archbishop) on Dec 05, 2015 at 02:59 UTC | |
by hatz (Initiate) on Dec 06, 2015 at 15:10 UTC | |
|
Re: die command while other files are opened
by hippo (Archbishop) on Dec 05, 2015 at 10:21 UTC |