Bonjour,

Je suis débutant en perl et on m'a donné comme boulot de refaire marcher une appli CGI/Perl et je rencontre un problème bloquant.
Ma conf :
Redhat 9
Apache 2.0.40
perl 5.8.0
mod_perl 1.99

Mon problème est que j'ai ce message suivant quand je passe d'une page à une autre en passant des paramètres par l'url.

Avez vous une piste ?
Merci d'avance
Seb

Le message :
Le serveur a èté victime d'une erreur interne et n'a pas été capable de faire aboutir votre requête.

Message d'erreur:
Can't call method "param" on an undefined value at /var/www/perl/procedure_list.pl line 23.
Si j'insiste en faisant des refresh, des fois ca passe et des fois non

Voici le debut du code de procedure_list.pl
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
#!/usr/bin/perl
 
use Apache::compat;
use CGI;
use CGI "escapeHTML";
use DBI;
use strict;     # bien penser a utiliser "my" pour declarer les variables
use DocBaseConfig;
use DocBaseConfig2;
 
 
 
use vars ('$dbh', '$query','$nodatabaseconnect');
 
my ($sth, $rc);
 
require '/var/www/perl/config.pl';#cgi + info sesion
require '/var/www/perl/sub_keycount.pl';#filtres sur procedures
 
$nodatabaseconnect = 1;
 
#traitement de l url
my $filter = $query->param('filter_name');
my $planif_id = $query->param('planif_id');
my $submit_button_pressed = $query->param('submit_button');
my $document_id = $query->param('document_id');
my $match_string = $query->param('matching');
my $active_filter;
my $active_document=0;
my $active_planif=0;
voici le debut du code de config.pl :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
use strict;
use CGI;
use CGI "escapeHTML";
use CGI::Session;
use File::Basename;
use Date::Format;
 
use vars ('$dbh','$query','$dontchecklogin','$login','$nodatabaseconnect','$session');
 
$query = new CGI;
$session = new CGI::Session('driver:File', scalar $query->cookie(CGI::Session->name()), {'Directory'=>'/var/www/session'});
$session->expire('+24h');
 
my $cookiepath = $ENV{SCRIPT_NAME};
$cookiepath =~ s/[^/]+$;
print 'Set-Cookie: '.CGI::Session->name().
    '='.$session->id().'; path='.$cookiepath.'; expires='.
    time2str('%a, %d-%b-%Y %H:%M:%S %Z', $session->expire() + time, 'GMT')."\n";
 
if(!defined $dontchecklogin){
    $login = $session->param('login');
 
    if(!defined $login){
	print <<'EOT';
Content-Type: text/html; charset=ISO-8859-1