[Perl]-cadrage de valeur

Résolu
blux Messages postés 5032 Date d'inscription   Statut Modérateur Dernière intervention   -  
 lami20j -
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

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    il y a peut-être des espaces qui la "pousse" à gauche, essayer pour voir
    printf ("++%5s++",$TAB[2]);
    0
  2. blux Messages postés 5032 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Ben non justement, elle est vraiment "brute"...

    J'ai d'autres valeurs hexa, avec un espace devant, qui sont correctement cadrées...
    0
  3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    mais si les espace sont après ? "0a "
    0
  4. blux Messages postés 5032 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lami20j
     
    Salut,

    Affiche le résultat de

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

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