Bill Catlan wrote: > Hello, > > The online mod_perl guide > (http://thingy.kcilink.com/modperlguide/perl/The_Scope_of_the_Special_Perl_Va.ht > ml) states: > > "Special Perl variables like $| (buffering), $^T (script's start time), $^W > (warnings mode), $/ (input record separator), $\ (output record separator) and > many more are all true global variables; they do not belong to any particular > package (not even main::) and are universally available. This means that if you > change them, you change them anywhere across the entire program; furthermore you > cannot scope them with my()." > > My question pertains the CGI %ENV hash. First, I'm assumong that this is a > global variable in the sense of a Perl Special Variable, and not just a main:: > or other package global. My question is how is it the case that the %ENV > variable script instance might be working with doesn't get clobbered or "reset" > by the next incoming request. Are some variables, like %ENV treated differently > by mod_perl? > > Also, how can special variables be reliably initialized? For example, if one > request provides a certain attribute, such as HTTP_IDENT, but a subsequent > request does not, how do I know that the value of $ENV{HTTP_IDENT} on the second > request will indeed be undefined?
This explains why by default %ENV is set for each request afresh. http://perl.apache.org/guide/performance.html#PerlSetupEnv_Off __________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com