Bonjour,

Je parse un fichier xml avec la méthode d'ici

Je voudrais ensuite que mes fonctions (égales au nombre des balises, donc beaucoup...) soient dans un autre fichier de configuration.

J'ai donc crée un fichierconfig.conf où j'ai mis les fonctions
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
sub balise1 {
print "<blocquote>\n";
}
à la suite...

Et dans mon fichier principal, je n'ai laissé que :
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
 
#! /usr/bin/perl
use XML::Parser;
 
 
# insertion du fichier de configuration
require 'fichierconfig.conf';
 
 
my $p = new XML::Parser(Style=>'Subs', Pkg=>'SubHandlers', ErrorContext=>2);
$p->setHandlers(Char => \&char);
 
my $fichier = shift;
 
 
$p->parsefile($fichier);
 
exit 0;
 
### Handler pour tout ce qui n'est pas une balise.
sub char {
    my ($p,$donnees) = @_;
 
    if ($donnees eq '<') {
        $donnees = '&lt;';
    } elsif ($donnees eq '>') {
        $donnees = '&gt;';
    } elsif ($donnees eq '&') {
        $donnees = '&amp;';
    } else{
        print $donnees;
    }
}
 
### Handlers pour les balises.
package SubHandlers;
Voilà, le script marchait très bien avant d'extraire les fonctions...

Maintenant, quand je le lance, il marque :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
/usr/local/bin/fichierconfig.conf did not return a true value at script.pl
J'ai lu qu'on pouvait faire des packages, mais je ne sais pas comment intégrer cette solution pour mes besoins...


Sinon, d'où peut venir cette erreur ?