Re[6]: Problem with PerlTransHandler

2003-06-27 Thread "Sergey V . Stashinskas"
It's my original very simple script:
package Apache::StripSession;
use strict;
use Apache;
use Apache::Constants qw(:common);
use DBI;
sub handler {
my $r = shift;
my $dbh = DBI->connect('dbi:mysql:altboards', 'root', '');
# Session
return DECLINED unless $r->uri =~ /^\/session\/([a-zA-Z0-9]{32})(.*)/;
warn "$1, $2";
$r->subprocess_env(SESSION => $1);
$r->uri($2);
return DECLINED;
}
1;

When I try to get page from http://localhost/session/123343..12121/index
it work perfectly.
And this string has appeared in error.log -
"12345678901234567890123456789012, /index at "

But if I comment out string 'warn "$1, $2"; ' the same script with the same url 
doesn't work.
$2 is undefined and browser tell me something like "www.localhost could not be found 
..."
Why???

__END__

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

> 
> Sergey V. Stashinskas said:
> > 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 ...
> 
> What are you actually getting in your logs?  Are you sure that it's even
> getting to $2?  My thought is this:
> 
> *  if you don't get a $dbh back, then under strict you should get a
> cock-up reporting that it can't run the method disconnect on an undefined
> reference.
> 
> Can't see why this would happen.  How you tried to dump the uri with a
> STDERR?  Noticed that you're from Russia, so perhaps it's some kind of
> character encoding/local problem, since you're matching against latin
> character classes?  Can weird character creep into your session string?
> 
> Just thoughts.  Final thought is running it through Apache::DB if you
> fancy building it.  Just a thought.
> 
> Cheers,
> 
> R.
> 
> 
> 
> 
> 
> 
> 
> 
> > 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 - (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
> >>
> >>
> >>
> >>
> 
> 
> 
> 


Re: Re[4]: Problem with PerlTransHandler

2003-06-27 Thread Raf
Sergey V. Stashinskas said:
> 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 ...

What are you actually getting in your logs?  Are you sure that it's even
getting to $2?  My thought is this:

*  if you don't get a $dbh back, then under strict you should get a
cock-up reporting that it can't run the method disconnect on an undefined
reference.

Can't see why this would happen.  How you tried to dump the uri with a
STDERR?  Noticed that you're from Russia, so perhaps it's some kind of
character encoding/local problem, since you're matching against latin
character classes?  Can weird character creep into your session string?

Just thoughts.  Final thought is running it through Apache::DB if you
fancy building it.  Just a thought.

Cheers,

R.








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





Re[4]: Problem with PerlTransHandler

2003-06-27 Thread "Sergey V . Stashinskas"
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 - (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
> 
> 
> 
> 


Re: Re[2]: Problem with PerlTransHandler

2003-06-27 Thread Raf
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





Re[2]: Problem with PerlTransHandler

2003-06-27 Thread "Sergey V . Stashinskas"
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;
> 
> and is still not working? You really need the database connection?
> 
> Lian
> 
> 
> > -Original Message-
> > From: Sergey V. Stashinskas [mailto:[EMAIL PROTECTED]
> > Sent: Friday, June 27, 2003 1:48 PM
> > To: [EMAIL PROTECTED]
> > Subject: Problem with PerlTransHandler
> >
> >
> > Hi all,
> >
> > Excuse me for my poor English because I'm from Russia.
> >
> > I have the problem with url translation.
> > There are 2 scripts to do it.
> > 1st script work perfectly, but 2nd failed.
> > Only difference between them is string "my $dbh = DBI->connect...";
> > I use Apche::DBI but without this module the same thing happens.
> > Why?
> >
> > 1st:
> > package Apache::StripSession
> > use strict;
> > use Apache;
> > use Apache::Constants qw(:common);
> >
> > sub handler {
> > my $r = shift;
> >
> > return DECLINED unless $r->uri =~ /^\/session\/([a-zA-Z0-9]{32})(.*)/;
> >
> > $r->subprocess_env(SESSION => $1);
> > $r->uri($2);
> >
> > return DECLINED;
> > }
> >
> > 2nd:
> > 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;
> > }
> >
> >
> 
> 


RE: Problem with PerlTransHandler

2003-06-27 Thread csebe
Have you tried to comment out the 2 DBI lines like this:

#my $dbh = DBI->connect('dbi:mysql:db', 'user', 'pswd');
#$dbh->disconnect;

and is still not working? You really need the database connection?

Lian


> -Original Message-
> From: Sergey V. Stashinskas [mailto:[EMAIL PROTECTED]
> Sent: Friday, June 27, 2003 1:48 PM
> To: [EMAIL PROTECTED]
> Subject: Problem with PerlTransHandler
>
>
> Hi all,
>
> Excuse me for my poor English because I'm from Russia.
>
> I have the problem with url translation.
> There are 2 scripts to do it.
> 1st script work perfectly, but 2nd failed.
> Only difference between them is string "my $dbh = DBI->connect...";
> I use Apche::DBI but without this module the same thing happens.
> Why?
>
> 1st:
> package Apache::StripSession
> use strict;
> use Apache;
> use Apache::Constants qw(:common);
>
> sub handler {
> my $r = shift;
>
> return DECLINED unless $r->uri =~ /^\/session\/([a-zA-Z0-9]{32})(.*)/;
>
> $r->subprocess_env(SESSION => $1);
> $r->uri($2);
>
> return DECLINED;
> }
>
> 2nd:
> 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;
> }
>
>



Re[2]: Problem with PerlTransHandler

2003-06-27 Thread "Sergey V . Stashinskas"
DBI->connect is working ok.
Strange problem is with regexp.
If "DBI->connect ..." string is present in script then $1 ok but $2 is undefined.
Otherwise $1 and $2 have real normal values.


-Original Message-
From: Thomas Klausner <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Date: Fri, 27 Jun 2003 14:56:22 +0200
Subject: Re: Problem with PerlTransHandler

> 
> Hi!
> 
> On Fri, Jun 27, 2003 at 02:47:45PM +0400, "Sergey V. Stashinskas"  wrote:
> 
> > sub handler {
> > my $r = shift;
> > 
> > my $dbh = DBI->connect('dbi:mysql:db', 'user', 'pswd');
> > $dbh->disconnect;
> 
> maybe the DBI->connect isn't working and thus your script dies / throws some
> error ? 
> 
> I'd try to check if connect works, if $dbh works, etc.
> 
> -- 
> #!/usr/bin/perl   http://domm.zsi.at
> for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/}
> 


Re: Problem with PerlTransHandler

2003-06-27 Thread Thomas Klausner
Hi!

On Fri, Jun 27, 2003 at 02:47:45PM +0400, "Sergey V. Stashinskas"  wrote:

> sub handler {
> my $r = shift;
> 
> my $dbh = DBI->connect('dbi:mysql:db', 'user', 'pswd');
> $dbh->disconnect;

maybe the DBI->connect isn't working and thus your script dies / throws some
error ? 

I'd try to check if connect works, if $dbh works, etc.

-- 
#!/usr/bin/perl   http://domm.zsi.at
for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/}


Problem with PerlTransHandler

2003-06-27 Thread "Sergey V . Stashinskas"
Hi all,

Excuse me for my poor English because I'm from Russia.

I have the problem with url translation.
There are 2 scripts to do it.
1st script work perfectly, but 2nd failed.
Only difference between them is string "my $dbh = DBI->connect...";
I use Apche::DBI but without this module the same thing happens.
Why?

1st:
package Apache::StripSession
use strict;
use Apache;
use Apache::Constants qw(:common);

sub handler {
my $r = shift;

return DECLINED unless $r->uri =~ /^\/session\/([a-zA-Z0-9]{32})(.*)/;

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

return DECLINED;
}

2nd:
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;
}