I'm confused about something and I wonder if anyone can help me to understand what's going on. The code shown below works fine but as I was looking over this before changing something else I realized that it probably shouldn't. I'm using an Apache2::Request object to return a connection object to get the remote_ip but the documentation for Apache2::Request doesn't show a connection method - that's in Apache2::RequestRec.
Why does connection() work on an Apache2::Request object? Thanks! -Doug Apache2::Request: http://httpd.apache.org/apreq/docs/libapreq2/group__apreq__xs__request.html Apache2::RequestRec: http://perl.apache.org/docs/2.0/api/Apache2/RequestRec.html#C_connection_ In the PerlResponseHandler: my $requestrec = shift if $ENV{MOD_PERL}; my $request = Apache2::Request->new($requestrec); my $session = Sessions->new($request, $mysql); {package Sessions; sub new { my $class=shift; my $self={}; bless ($self, $class); $self->{REQUEST}=shift; $self->{DBH}=shift; {...snip...} $self->{DBH}->do('INSERT INTO failedloginattempts (username, password, ip, session, attempttime) VALUES ('.$self->{DBH}->quote($username).','.$self->{DBH}->quote($password).', INET_ATON('.$self->{DBH}->quote(*$self->{REQUEST}->connection()->remote_ip*).'), '.$self->{DBH}->quote($self->{SESSION}).', NOW())');