Re: [PATCH 12/18] gitweb: Change file handles (in caching) to lexical variables as opposed to globs
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Dec 10, 2010, 00:47 UTC
- Message-ID
- <201012100147.20747.jnareb@gmail.com>
- In-Reply-To
- <7vwrnieac8.fsf@alter.siamese.dyndns.org>
On Fri, 10 Dec 2010, Junio C Hamano wrote:
Show 17 quoted lines
> Jakub Narebski <jnareb@gmail.com> writes: >> "John 'Warthog9' Hawley" <warthog9@eaglescrag.net> writes: >>> >>> +# Global declarations >>> +our $cacheFile; >>> +our $cacheFileBG; >>> +our $cacheFileBinWT; >>> +our $cacheFileBin; >> >> You are trading globs for global (well, package) variables. They are >> not lexical filehandles... though I'm not sure if it would be possible >> without restructuring code; note that if variable holding filehandle >> falls out of scope, then file would be automatically closed. > > Hmm. why is it a bad idea, when you need to access these from practically > everywhere, to use global variables to begin with? To a certain degree, > it sounds like an unnecessary burden without much gain to me.
If you check my rewrite of gitweb output caching:
"[PATCHv6/RFC 00/24] gitweb: Simple file based output caching"
http://repo.or.cz/w/git/jnareb-git.git/shortlog/refs/heads/origin..refs/heads/gitweb/cache-kernel-v6 https://github.com/jnareb/git/compare/origin...gitweb/cache-kernel-v6
you would see that I always use lexical filehandles, and I never need to use global variables / glob filehandles.
http://en.wikipedia.org/wiki/Global_variables
-- Jakub Narebski Poland