Hi, I'm confused about something.  I am cleaning up some legacy Perl code in
our application, and I find a number of our custom Perl modules have
functions which require $r be passed to them solely for use in logging (e.g.
$r->log->error()). I want to remove that requirement, so I am changing
things around so that the code uses Apache2::RequestUtil::request to get the
request object when needed.  This is working fine, except when I use the
object retrieved that way, the $r->log methods fail to write to the server
log.   In addition, I see that the original $r and the new one from
A::RU::request are different:

use Data::Dumper;
print STDERR Dumper($r);
print STDERR Dumper(Apache2::RequestUtil->request);

yields

$VAR1 = bless( do{\(my $o = 158143776)}, 'Apache2::Request' );
$VAR1 = bless( do{\(my $o = 158116376)}, 'Apache2::RequestRec' );

Can someone help me understand this difference, and how to use the object
retrieved from A::RU::request to access the Apache2::Log methods?  Why isn't
the original $r an Apache2::RequestRec object?

This is Perl 5.14.2, mod_perl 2.0.5

Thanks.

Charlie Katz

Reply via email to