Je veux construire la chaîne constituée des caractères dont ls codes ascii sont 0,1,2 et 3
Code : Sélectionner tout - Visualiser dans une fenêtre à part
my $s="\x00\x01\x02\x03";
cela fonctionne et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
print unpack ("H*",$s)."\n";
me donne bien le résultat attendu
J'essaies maintenant de faire la même chose avec une boucle
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);
}
mais la chaîne $s ne contient pas la valeur attendue
Code : Sélectionner tout - Visualiser dans une fenêtre à part
print unpack ("H*",$s)."\n";
fournit pour résultat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
5c7830305c7830315c7830325c7830335c783034
donne le résultat
5c est le code de antislash, 78 celui de x ...

Où est l'erreur ?

Merci de ma venir en aide