in reply to mod_perl: globals and security question
That looks great to me, since local will restore the value even if handler exits due to an exception (die). My only concern would be threads. I don't know how Perl shares variables between threads, and I don't know how mod_perl works in a multi-threaded Apache.
By the way, you can save yourself some typing by using our. The following code is equivalent to your code, but saves you from typing "NS::" every time you reference these variables:
our ( $IP_address, %params, %cookies ); sub handler { my $r = shift; local ( $IP_address, %params, %cookies ); . . $IP_address = $r->connection()->remote_ip(); . . }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: mod_perl: globals and security question
by scollyer (Sexton) on Oct 12, 2005 at 15:11 UTC |