[Perl]-cadrage de valeur

Résolu/Fermé
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 - 3 déc. 2009 à 15:41
 lami20j - 3 déc. 2009 à 16:13
Bonjour,

j'ai une variable dans un script perl que je souhaite cadrer à droite à l'affichage, mais malgré tous mes efforts, elle reste désespérément cadrée à gauche quand elle est purement numérique (c'est une valeur hexa).

J'essaie avec printf ("%5s",$TAB[2]); mais rien n'y fait...

Elle est initialisée par la ligne : $TAB[2] =~ s/([a-fA-F0-9]{2})/chr(hex $1)/eg;

Pourquoi cela se fait-il et comment solutionner ?

Merci d'avance.

6 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
3 déc. 2009 à 15:54
hello
il y a peut-être des espaces qui la "pousse" à gauche, essayer pour voir
printf ("++%5s++",$TAB[2]);
0
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
3 déc. 2009 à 15:58
Ben non justement, elle est vraiment "brute"...

J'ai d'autres valeurs hexa, avec un espace devant, qui sont correctement cadrées...
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
3 déc. 2009 à 16:03
mais si les espace sont après ? "0a "
0
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
3 déc. 2009 à 16:10
Laisse tomber, c'est une conn**$*$* de ma part, j'avais mis un espace à la fin pour séparer des autres champs et c'est lui qui mettait le souk :

printf ("%5s",$TAB[2])." ";
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Salut,

Affiche le résultat de

$TAB[2]=~/(.)/ord($1)/eg;
print "$TAB[2]\n";
0
Re,

Bon, trop tard, mais tu peux toujours utiliser la fonction ord pour vérifer ce qui ne vas pas.
0