Salut!

Voilà mon problème.

J'ai un formulaire à remplir, et les données doivent se stocker dans une DB.
Je pensais que mon code était correct, jusqu'à cette erreur.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Global symbol "$data" requires explicit package name at E:\Lenaic\rst406\labo1\scripts\lib\inscription.pl line 90.
Global symbol "$data" requires explicit package name at E:\Lenaic\rst406\labo1\scripts\lib\inscription.pl line 90.
Global symbol "$data" requires explicit package name at E:\Lenaic\rst406\labo1\scripts\lib\inscription.pl line 90.
Global symbol "$data" requires explicit package name at E:\Lenaic\rst406\labo1\scripts\lib\inscription.pl line 90.
Global symbol "$data" requires explicit package name at E:\Lenaic\rst406\labo1\scripts\lib\inscription.pl line 90.
Global symbol "$data" requires explicit package name at E:\Lenaic\rst406\labo1\scripts\lib\inscription.pl line 90.
...
J'ai bien entendu été voir à la ligne 90 (et alentours), mais je n'ai rien trouvé.

Voici mon code:

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#!D:/Perl/bin
use DBI;
use CGI;
my $cgi = CGI::new();
use strict;
 
    my $noerror='true';
 
    #CONNECTION à la DB
 
    my $path="dbi:mysql:dbname=form_competence";
    my $user='root';
    my $pswd='*****';
    my $connexion=DBI->connect($path,$user,$pswd) or die ('Erreur de connexion...');
 
    #PREPARATION tableau associatif de cgi()
 
    my% data =();
    %data= ("can_prenom"=>$cgi->param('prenom'),
            "can_nom"=>$cgi->param('nom'),
            "can_sexe"=>$cgi->param('sexe'),
            "can_ddn"=>$cgi->param('can_jour').'-'.$cgi->param('can_mois').'-'.$cgi->param('can_mois'),
            "can_adresse"=>$cgi->param('adress'),
            "can_cp"=>$cgi->param('cp'),
            "can_loc"=>$cgi->param('location'),
            "can_pays"=>$cgi->param('pays'),
            "can_email"=>$cgi->param('mail'),
            "can_tel"=>$cgi->param('phone'),
            "can_gsm"=>$cgi->param('gsm'),
            "can_fax"=>$cgi->param('fax'),
            "can_login"=>$cgi->param('login'),
            "can_pwd"=>$cgi->param('pswd2'),
            );
 
    #l'user rempli le formulaire...
    #VERIFICATION de la validité de l'inscription
 
    if ($data{pswd1} ne $data{pswd2}){
        die "Les mots de passe sont différents";
    }
 
    if (($data{nom}!~/^[A-ZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØŒŠþÙÚÛÜÝŸ\sa-zàáâãäåæçèéêëìíîïðñòóôõöøœšÞùúûüýÿß-]+$/)){
        print 'Problème au niveau du nom'."\r"."<br/>";
        $noerror='false';
    }
 
    if (($data{prenom}!~/^[A-ZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØŒŠþÙÚÛÜÝŸ\sa-zàáâãäåæçèéêëìíîïðñòóôõöøœšÞùúûüýÿß-]+$/)){
        print 'Problème au niveau du prénom'."\r"."<br/>";
        $noerror='false';
    }
 
    if (($data{location}!~/^[A-ZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØŒŠþÙÚÛÜÝŸ\sa-zàáâãäåæçèéêëìíîïðñòóôõöøœšÞùúûüýÿß-]+$/)){
        print 'Problème au niveau du nom de la ville'."\r"."<br/>";
        $noerror='false';
    }
 
    if (($data{pays}!~/^[A-ZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØŒŠþÙÚÛÜÝŸ\sa-zàáâãäåæçèéêëìíîïðñòóôõöøœšÞùúûüýÿß-]+$/)){
        print 'Problème au niveau du pays'."\r"."<br/>";
        $noerror='false';
    }
 
    if ($data{nom}!~/^[^@]+@(([\w\-]+\.){1,4}[a-zA-z]{2,4}$|([0-1]?[0-9]?[0-9]|2[0-4][0-9]|2[0-5][0-5])((\.)([0-1]?[0-9]?[0-9]|2[0-4][0-9]|2[0-5][0-5])){3})/){
        print 'Problème au niveau de l\'adresse e-mail'."\r"."<br/>";
        $noerror='false';
    }
 
    if ($data{phone}=~/[^0-9]/){
        print 'Problème au niveau du numéro de téléphone'."\r"."<br/>";
        $noerror='false';
    }
    if ($data{fax}=~/[^0-9]/){
        print 'Problème au niveau du numéro de fax'."\r"."<br/>";
        $noerror='false';
    }
 
    if ($data{gsm}=~/[^0-9]/){
        print 'Problème au niveau du numéro de gsm'."\r"."<br/>";
        $noerror='false';
    }
 
    if ($data{phone}=~/[^0-9]/){
        print 'Problème au niveau du code postal'."\r"."<br/>";
        $noerror='false';
    }
 
    if ($noerror='true'){
 
        #CREATION requête
 
        my $query= "INSERT INTO candidats (    
                                        can_nom,
                                        can_prenom,
                                        can_sexe,
                                        can_adresse,
                                        can_ddn
                                        can_cp,
                                        can_loc
                                        can_pays,
                                        can_email,
                                        can_tel,
                                        can_fax,
                                        can_gsm,
                                        can_login,
                                        can_pswd)
 
                                    VALUES    (
                                            '$data(nom)',
                                            '$data(prenom)',
                                            '$data(sexe)',
                                            '$data(adress)',
                                            '$data(can_jour)'.'-'.'$data(can_mois)'.'-'.'$data(can_jour)',
                                            '$data(cp)',
                                            '$data(location)',
                                            '$data(pays)',
                                            '$data(mail)',
                                            '$data(phone)',
                                            '$data(fax)',
                                            '$data(gsm)',
                                            '$data(login)',
                                            '$data(pswd2)'
                                            );";
 
        #EXECUTION requête (CREATION nouvel user)
 
        my $req = $connexion->prepare($query);
        $req->execute();
 
}
Je ne vois pas mon erreur, j'espère que vous la trouverez!

Merci d'avance...