Jeremy Nixon am Dienstag, 15. November 2005 08.06: > Peter1 Alvin <[EMAIL PROTECTED]> wrote: > > Please tell me I can do this! > > > > Using mod_perl, how do you keep Perl objects in RAM from page to page? [...] > As an example, I have a handler that needs to read a directory listing. > Most of the time it will be looking at the same directory over and over, > so I decide that it's okay to have to restart the server if the listing > will change (the listing won't change much) and do something like: > > { # start a lexical scope > my %d_cache; > sub handler { > # stuff > if (not defined($d_cache{$foo})) { > # pull in directory listing and store it in $d_cache{$foo} > } > # proceed to use $d_cache{$foo} information > } > } end lexical scope > > This way, a directory is only actually read once (at most) per server > child process.
Hi Jeremy Hope it's not a stupid question, but are you sure %d_cache survives a request? Maybe I'm totally misunderstanding something but I thought after the point } end lexical scope %d_cache gets destroyed (if not still referenced from somewhere else). I would have left out the scope-{} to keep %d_cache at file level. Would that be wrong? And why? I'd appreciate every hint. joe