Perl : un one-liner - II

Un petit en passant pour convertir du décimal en hexa. Pratique pour les codes couleurs du chteumeuleu.

Admettons qu'on ait trois valeurs de RVB en décimal : 255, 128 et 0. Pour obtenir la valeur en hexadécimal avec le signe "#" au début, on utilise la fonction "printf" en Perl :

drzz@hanouka:~$ perl -e 'printf "#" . "%02x"x3 ."\n",255,127,0'
#ff7f00

Il n'y a qu'une option "-e" dans ce cas. En effet, on ne demande que l'exécution de ou des instructions entre guillemets simples. Le "#" est affiché puis concaténé par l'opérateur "." aux trois valeurs transformées par l'indication "%02x" (qui sert à la conversion vers de l'hexadécimal) à trois reprises (le "x3"). On n'oublie pas le retour à la ligne "\n" et le passage des arguments qui feront l'objet du traitement pour la sortie formatée (les valeurs 255,127,0).

tags : Perl, one-liner

mis en ligne : Sat Jan 2 22:14:56 CEST 2010