in reply to Tip on better performance: Open and close output file or leave it open?

Generally speaking: when optimizing, measure, don't guess. Try both variants and check which actually runs faster, and by how much.

That said, opening and closing a file each time you need to write to it seems wasteful to me. Why are you doing that? If you need to ensure that your data hits the disk instead of getting buffered, explicitely flushing the file and/or enabling output autoflush may be a better option (but again: measure, don't guess!). perlfaq5 has some information on how to do this.

If you're only looking to make your script run faster in general, then (again!) measure where it's slow, don't guess; use a profiler to find the hotspots, and work on optimizing those.

  • Comment on Re: Tip on better performance: Open and close output file or leave it open?