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
>
>
>
>