jk jk wrote: > I'm trying to port a preexisting CGI app to mod_perl2 and could use some > help. > > Here goes a test case that should illustrate my problem: > > The code pasted below loads the page properly the first time it's > accessed. However, upon multiple reloads in firefox, the headers either > disappear altogether or the page is downloaded in the download manager. > I assume this is because the wrong $r object is being accessed by the > request? In any case, I'm at a loss and would really appreciate some > input. Thanks in advance. > [...] > > ============= > File: testme/testmod.pm > ============= > > package testme::testmod; > > use Apache2::RequestUtil; > use strict; > > use base qw /Class::Singleton/;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
From the documentation of Class::Singleton:
# this only gets called the first time instance() is called
> sub _new_instance{
>
> my ( $class, $r ) = @_;
>
> my $self = {};
>
> bless $self, $class;
>
> $self->{r} = $r;
>
> return ( $self );
>
> }
So effectively, your code will capture the $r (once for each child)
from the first request and keep it forever. Trying to use it for subsequent
requests will cause the kind of problems you've seen.
------------------------------------------------------------------------
Philippe M. Chiasson GPG: F9BFE0C2480E7680 1AE53631CB32A107 88C3A5A5
http://gozer.ectoplasm.org/ m/gozer\@(apache|cpan|ectoplasm)\.org/
signature.asc
Description: OpenPGP digital signature
