localized lexical varibles
[prev]
[thread]
[next]
[Date index for 2005/03/15]
Hallo all!
I'm new to mod_perl, and I see the strange behaviour of local variables
in functions.
This is my simple test:
==
.htaccess:
SetHandler perl-script
PerlHandler My::Test;
==
package My::Test;
#/usr/local/apache/My/Test.pm
use strict;
use Apache::Constants ':common';
sub handler {
my $r=Apache->request;
$r->content_type('text/html');
$r->send_http_header;
print "Request: ".$r->uri."<br/>";
my $s = $r->uri;
print "From main: $s<br/>";
Call();
return OK;
sub Call {
print "From Call: $s<br/>";
print "But request: ".$r->uri;
}
}
1;
==
First time I got correct answer:
(request: GET /1111)
Request: /111
From main: /111
From Call: /111
But request: /111
But in next times I got a old $s value in the Call() function:
GET /1111/222
Request: /111/222
From main: /111/222
From Call: /111
But request: /111/222
GET /1234
Request: /1234
From main: /1234
From Call: /111
But request: /1234
Where I am wrong? Or where I can found corresponding documentation?
I beg your pardon for my english.
--
Vladimir D Belousov
 |
localized lexical varibles
Vladimir D Belousov 17:29 on 15 Mar 2005
|