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
à la suite...Code:
1
2
3
4 sub balise1 { print "<blocquote>\n"; }
Et dans mon fichier principal, je n'ai laissé que :
Voilà, le script marchait très bien avant d'extraire les fonctions...Code:
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 = '<'; } elsif ($donnees eq '>') { $donnees = '>'; } elsif ($donnees eq '&') { $donnees = '&'; } else{ print $donnees; } } ### Handlers pour les balises. package SubHandlers;
Maintenant, quand je le lance, il marque :
J'ai lu qu'on pouvait faire des packages, mais je ne sais pas comment intégrer cette solution pour mes besoins...Code:
1
2 /usr/local/bin/fichierconfig.conf did not return a true value at script.pl
Sinon, d'où peut venir cette erreur ?