salut j'ai un sourci avec une boucle for peut etre quelqu'un ici pourrai me dire ce que ne va pas
for my $file (@files) {
my $twig1 = XML::Twig->new(
twig_handlers => {
'Parameter' => sub {
my $attr_value = $_->{'att'}->{'value'}; #ligne 77
print $FhResult $attr_value . ", "; #ligne 78
},
},
);
lorsque j'execute le code je recois cette erreur je ne comprend pas alors que j'ai defini a la ligne 77 la variable $attr_value
Use of uninitialized value $attr_value in concatenation (.) or string at
selbst.pl line 78.
# deja vu dans les demandes precedentes
Posté par NeoX . Évalué à 2.
il te dit que $attr_value n'est pas initalisée quand tu veux faire la concatenation (au moment du print)
cela laisse supposer que la ligne 77 ne fait rien ou echoue dans ce qu'elle est censé faire…
de ce que je lis sur cet extrait de code, tu veux aller lire un element de la ligne courante ($_)
mais je ne vois nulle part l'ouverture du fichier, et la boucle de lecture de ce fichier.
pourtant ce sont des choses que tu as deja faites dans tes demandes precedentes.
[^] # Re: deja vu dans les demandes precedentes
Posté par Henri . Évalué à -7.
je n'ai pas poste tout le code plus haut il ya l'ouverture du fichier que j'ai ecri comme tu peus le remarque nous sommes parlons de la ligne 77 et 78 cela veut dire que il ya des lignes plus haut
[^] # Re: deja vu dans les demandes precedentes
Posté par Sytoka Modon (site web personnel) . Évalué à 3.
A voir si cela marche…
my $attr_value = $_->{'att'}->{'value'} || '';
# Non initialisée
Posté par anaseto . Évalué à 3. Dernière modification le 03 octobre 2015 à 18:23.
Si ta variable n'est pas initialisée, c'est que l'attribut en question n'a pas de valeur en ligne 77, donc que dans ton fichier xml cette entrée n'existe pas. Je ne sais pas quel est le comportement que tu veux dans ce cas, mais s'il s'agit d'une valeur qui peut apparaître ou ne pas apparaître, tu peut peut-être simplement mettre :
en rajoutant donc
// ""
pour le cas où il n'y a rien.Edit : grillé, c'est (presque) la même chose que proposé juste au-dessus.
[^] # Re: Non initialisée
Posté par Henri . Évalué à -6.
Merci anaseto,
c'est exactement ce qui me manquait
Merci a tous de vos propositions
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.