Je veux construire la chaîne constituée des caractères dont ls codes ascii sont 0,1,2 et 3
cela fonctionne et
Code : Sélectionner tout - Visualiser dans une fenêtre à part my $s="\x00\x01\x02\x03";
me donne bien le résultat attendu
Code : Sélectionner tout - Visualiser dans une fenêtre à part print unpack ("H*",$s)."\n";
J'essaies maintenant de faire la même chose avec une boucle
Code : Sélectionner tout - Visualiser dans une fenêtre à part 00010204
mais la chaîne $s ne contient pas la valeur attendue
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 my $s=""; foreach my $i (0..4){ $s.= sprintf("\\x%02x",$i); }
fournit pour résultat
Code : Sélectionner tout - Visualiser dans une fenêtre à part print unpack ("H*",$s)."\n";
Code : Sélectionner tout - Visualiser dans une fenêtre à part 5c7830305c7830315c7830325c7830335c783034donne le résultat
Code : Sélectionner tout - Visualiser dans une fenêtre à part print "$s\n";
5c est le code de antislash, 78 celui de x ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part \x00\x01\x02\x03\x04
Où est l'erreur ?
Merci de ma venir en aide
Partager