numerotation en 0001 , 0002 etc

Le
Mag
Bonjour,

je suis en debutant sous perl ;=)

Je cherche a faire un compteur a 4 chiffres
qui s'incremente, le probleme, si je part en '0001'
et que je fais un simple

$count=$count+1

cela passe a 2 et non pas a 0002

comment faire ?

merci d'avance
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Patrice Karatchentzeff
Le #156823
Mag
Bonjour,

je suis en debutant sous perl ;=)

Je cherche a faire un compteur a 4 chiffres
qui s'incremente, le probleme, si je part en '0001'
et que je fais un simple

$count=$count+1

cela passe a 2 et non pas a 0002

comment faire ?


% perl -e 'for $num (1..10) {printf "%04s",$num, print "n"}'

donc perldoc -f sprintf

PK
--
      |      _,,,---,,_       Patrice KARATCHENTZEFF
ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:
     |,4-  ) )-,_. , (  `'-'  http://p.karatchentzeff.free.fr
    '---''(_/--'  `-'_)       

Patrice Karatchentzeff
Le #156822
Patrice Karatchentzeff
% perl -e 'for $num (1..10) {printf "%04s",$num, print "n"}'


En me relisant, je me dis que c'est un peu lourd :

% perl -e 'for $num (1..10) { printf "%04sn", $num }'

ou bien en utilisant map

% perl -e 'map { printf "%04sn", $_ } (1..10)'

Enfin, cela n'enlevait rien à la solution :)

PK

--
      |      _,,,---,,_       Patrice KARATCHENTZEFF
ZZZzz /,`.-'`'    -.  ;-;;,_   mailto:
     |,4-  ) )-,_. , (  `'-'  http://p.karatchentzeff.free.fr
    '---''(_/--'  `-'_)       

JacK
Le #156821

% perl -e 'for $num (1..10) {printf "%04s",$num, print "n"}'


En me relisant, je me dis que c'est un peu lourd :

% perl -e 'for $num (1..10) { printf "%04sn", $num }'

ou bien en utilisant map

% perl -e 'map { printf "%04sn", $_ } (1..10)'

Enfin, cela n'enlevait rien à la solution :)

PK

Sur windows?



Patrick Texier
Le #156820
Le Thu, 17 Jan 2008 10:47:59 +0100, JacK a écrit :

% perl -e 'map { printf "%04sn", $_ } (1..10)'

Enfin, cela n'enlevait rien à la solution :)

PK

Sur windows?



Il semble que Perl fonctionne aussi sous Windows :

C:WINDOWS>perl -e "map { printf "%04sn", $_ } (1..10)"
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010

C:WINDOWS>


Thierry B.
Le #156819
--{ Mag a plopé ceci: }--

Je cherche a faire un compteur a 4 chiffres
qui s'incremente, le probleme, si je part en '0001'


Attention, un nombre écrit avec un zéro en tête est exprimé
en octal (base 8), ce qui peut mener à des surprises...

tth ~ $ perl -e 'print 0042,"n";'
34
tth ~ $

--
Par trois fois: --{ Thierry B. a plopé ceci: }--
Bah, oui, ça les occupe, genre bac-à-sable...
Ah mince, voilà que je me parle à moi-même ?

Fait gaffe, ça s'est vu, yen a qui ont remarqué.





Mag
Le #156818

% perl -e 'for $num (1..10) {printf "%04s",$num, print "n"}'


En me relisant, je me dis que c'est un peu lourd :

% perl -e 'for $num (1..10) { printf "%04sn", $num }'

ou bien en utilisant map

% perl -e 'map { printf "%04sn", $_ } (1..10)'

Enfin, cela n'enlevait rien à la solution :)

PK



Merci, mais c'est en ligne de commande.

integre dans un script pour incrementer un $compteur ?

merci beaucoup en tout cas


Thomas vO
Le #156817
À (at) Thu, 17 Jan 2008 11:42:05 +0100,
Mag
Merci, mais c'est en ligne de commande.

integre dans un script pour incrementer un $compteur ?


ben... ça marche de la même façon... (en enlevant perl -xx '' et en
gardant seulement l'intérieur des quotes).

par contre, si ce n'est pas pour l'affichage, j'avoue avoir du mal à
comprendre l'interêt de la chose...

--
Thomas vO -
JacK
Le #156816

% perl -e 'map { printf "%04sn", $_ } (1..10)'

Enfin, cela n'enlevait rien à la solution :)

PK

Sur windows?



Il semble que Perl fonctionne aussi sous Windows :

C:WINDOWS>perl -e "map { printf "%04sn", $_ } (1..10)"
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010

C:WINDOWS>
C'est bien cela que je voulais dire, windows requiert une écriture

différente. et je n'ai pas le retour ligne avec cette commande.



Mag
Le #156720
À (at) Thu, 17 Jan 2008 11:42:05 +0100,
Mag
Merci, mais c'est en ligne de commande.

integre dans un script pour incrementer un $compteur ?


ben... ça marche de la même façon... (en enlevant perl -xx '' et en
gardant seulement l'intérieur des quotes).

par contre, si ce n'est pas pour l'affichage, j'avoue avoir du mal à
comprendre l'interêt de la chose...



Ce n'est pas en affichage ;=) c'est pour faire une reference.


Mag
Le #156719

% perl -e 'for $num (1..10) {printf "%04s",$num, print "n"}'


En me relisant, je me dis que c'est un peu lourd :

% perl -e 'for $num (1..10) { printf "%04sn", $num }'

ou bien en utilisant map

% perl -e 'map { printf "%04sn", $_ } (1..10)'

Enfin, cela n'enlevait rien à la solution :)

PK



Merci pour ton aide ;=), jsute un mini hic car j ai pas ete precis
- je suis sous linux (pour d'autre poste)
- ce n'est pas en ligne de commande, c'est $compteur que je
cherche a incrementer avec 4 chiffres "fixe"

Je cherche toujours ;=)


Publicité
Poster une réponse
Anonyme