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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : 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 = '<'; } 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 : 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
Sinon, d'où peut venir cette erreur ?
Partager