Problem is not in connection with database.
When I try to connect then $2 regexp variable becomes undefined and script can not 
redirect anywhere. ($r->uri($2))
But when script is not connected with database all works perfectly and this variable 
has a real defined value.
I can not understand this ...

Original source:
package Apache::StripSession;
use strict;
use Apache;
use Apache::Constants qw(:common);

sub handler {
    my $r = shift;

    my $dbh = DBI->connect('dbi:mysql:db', 'user', 'pswd');
    $dbh->disconnect;
    return DECLINED unless $r->uri =~ /^\/session\/([a-zA-Z0-9]{32})(.*)/;

    $r->subprocess_env(SESSION => $1);
    $r->uri($2);

    return DECLINED;
}

1;

-----Original Message-----
From: "Raf" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Date: Fri, 27 Jun 2003 15:09:13 -0000 (GMT)
Subject: Re: Re[2]: Problem with PerlTransHandler

> 
> Sergey V. Stashinskas said:
> > If these lines are commented out then script is working ok.
> >
> > -----Original Message-----
> > From: <[EMAIL PROTECTED]>
> > To: "Sergey V. Stashinskas  "
> > <[EMAIL PROTECTED]>,<[EMAIL PROTECTED]> Date: Fri, 27 Jun
> > 2003 16:39:12 +0300
> > Subject: RE: Problem with PerlTransHandler
> >
> >>
> >> Have you tried to comment out the 2 DBI lines like this:
> >>
> >> #my $dbh = DBI->connect('dbi:mysql:db', 'user', 'pswd');
> >> #$dbh->disconnect;
> 
> Can't find your original post, however try doing something like:
> 
> $dbh->disconnect if ref($dbh);
> 
> or:
> 
> if (ref $dbh) {
>     $dbh->disconnect;
> else {
>     ## CHECK LOGS for this
>     print STDERR "\n Failed to connect \n";
> };
> 
> Cheers,
> 
> Raf
> 
> 
> 
> 

Reply via email to