celebithil has asked for the wisdom of the Perl Monks concerning the following question:

I'm trying write FCGI script gb.fcgi
#!/usr/local/bin/perl use Modern::Perl; use FCGI; use Gb; my $request = FCGI::Request(); my $Gb = new Gb; while($request->Accept() >= 0) { $Gb -> start(); }
Gb.pm
use Modern::Perl; use MooseX::Declare; class Gb { use CGI; has 'q' => (is =>'rw'); has 'request'=> (is =>'rw'); method start{ $self->{'q'} = CGI->new; $self->{'request'} = $self->{'q'}->Vars; print $self->{'q'}->header( -charset => 'utf-8' ); print '<b>Q!</b><br>'; foreach my $key ( keys %{$self->{'request'}} ) { print "$key = $self->{'request'}{$key}<br>"; } } }
it is working! but only once :) for example i run this script with gb.fcgi?tyr=3 it writes
Q!
tyr = 3
when i change string on gb.fcgi?tyr=4 it writes again
Q!
tyr = 3
for changing anything a need to restart apache what i doing wrong?

Replies are listed 'Best First'.
Re: problem with FCGI
by Anonyrnous Monk (Hermit) on Jan 05, 2011 at 23:44 UTC

    People have occasionally observed similar issues when using the CGI.pm module together with FCGI (e.g. Not getting CGI parameters under FastCGI). The problem went away by switching to CGI::Simple in place of CGI.pm.  So that's what I would try first...

      The problem went away by switching to CGI::Simple in place of CGI.pm

      Or simply use CGI::Fast, its part of the CGI distribution, its what you're supposed to use under FastCGI

      Thank You! problem solved.