Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

numerotation en 0001 , 0002 etc

19 réponses
Avatar
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

10 réponses

1 2
Avatar
Patrice Karatchentzeff
Mag a écrit :

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
    '---''(_/--'  `-'_)       

Avatar
Patrice Karatchentzeff
Patrice Karatchentzeff a écrit :

% 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
    '---''(_/--'  `-'_)       

Avatar
JacK

% 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?



Avatar
Patrick Texier
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>


Avatar
Thierry B.
--{ 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é.





Avatar
Mag

% 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


Avatar
Thomas vO
À (at) Thu, 17 Jan 2008 11:42:05 +0100,
Mag nous disait (told us):
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 - <http://perso.enstimac.fr/~vanouden/>

Avatar
JacK

% 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.



Avatar
Mag
À (at) Thu, 17 Jan 2008 11:42:05 +0100,
Mag nous disait (told us):
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.


Avatar
Mag

% 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 ;=)


1 2