[Perl]-cadrage de valeur

Résolu
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.

--

A+ Blux           
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

6 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    hello
    il y a peut-être des espaces qui la "pousse" à gauche, essayer pour voir
    printf ("++%5s++",$TAB[2]);
    1. Modérateur
      Ben non justement, elle est vraiment "brute"...

      J'ai d'autres valeurs hexa, avec un espace devant, qui sont correctement cadrées...
      1. Modérateur
        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])." ";
        1. Salut,

          Affiche le résultat de

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

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