Problème d'utilisation du 'shell' (ou "shell") d'une part, et de nom de variable et donc d'absence de '-w' d'autre part. ;-)
Essayez donc :
% perl -we '$inc="0000" ; for (1..5) {print $inc++, "n"}'
Cette fonctionnalité magique de l'opérateur '++' est documentée dans 'perlop'. Elle fonctione aussi avec les lettres. Mais elle n'existe malheureusement pas pour les autres opérateurs (--, +, *, etc.).
Il faut donc aussi connaître la méthode plus générale en passant par 'sprintf' :
$incr = sprintf("%04d", $incr + 7);
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
À (at) 17 Jan 2008 15:20:54 +0100,
Patrice Karatchentzeff <p.karatchentzeff@free.fr> écrivait (wrote):
jl_morel@bribes.org (Jean-Louis MOREL) a écrit :
En utilisant l'opérateur d'incrémentation ++ pardi !
Problème d'utilisation du 'shell' (ou "shell") d'une part, et de nom
de variable et donc d'absence de '-w' d'autre part. ;-)
Essayez donc :
% perl -we '$inc="0000" ; for (1..5) {print $inc++, "n"}'
Cette fonctionnalité magique de l'opérateur '++' est documentée dans
'perlop'. Elle fonctione aussi avec les lettres. Mais elle n'existe
malheureusement pas pour les autres opérateurs (--, +, *, etc.).
Il faut donc aussi connaître la méthode plus générale en passant par
'sprintf' :
$incr = sprintf("%04d", $incr + 7);
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
Problème d'utilisation du 'shell' (ou "shell") d'une part, et de nom de variable et donc d'absence de '-w' d'autre part. ;-)
Essayez donc :
% perl -we '$inc="0000" ; for (1..5) {print $inc++, "n"}'
Cette fonctionnalité magique de l'opérateur '++' est documentée dans 'perlop'. Elle fonctione aussi avec les lettres. Mais elle n'existe malheureusement pas pour les autres opérateurs (--, +, *, etc.).
Il faut donc aussi connaître la méthode plus générale en passant par 'sprintf' :
$incr = sprintf("%04d", $incr + 7);
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
Paul Gaborit
À (at) 17 Jan 2008 16:11:36 GMT, (Jean-Louis MOREL) écrivait (wrote):
La variable incrémentée n'est pas la même variable que celle qui est initialisée :
% perl -e '$inc='0000' ; for (1..5) {print $incr++, "n"}' ^ il y a un r en trop là ;-)
Ça ne suffit pas ! Il faut aussi être cohérent sur l'utilisation des guillemets et des apostrophes... ;-)
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
À (at) 17 Jan 2008 16:11:36 GMT,
jl_morel@bribes.org (Jean-Louis MOREL) écrivait (wrote):
La variable incrémentée n'est pas la même variable que celle qui est
initialisée :
% perl -e '$inc='0000' ; for (1..5) {print $incr++, "n"}'
^
il y a un r en trop là ;-)
Ça ne suffit pas ! Il faut aussi être cohérent sur l'utilisation des
guillemets et des apostrophes... ;-)
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
À (at) 17 Jan 2008 16:11:36 GMT, (Jean-Louis MOREL) écrivait (wrote):
La variable incrémentée n'est pas la même variable que celle qui est initialisée :
% perl -e '$inc='0000' ; for (1..5) {print $incr++, "n"}' ^ il y a un r en trop là ;-)
Ça ne suffit pas ! Il faut aussi être cohérent sur l'utilisation des guillemets et des apostrophes... ;-)
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
jl_morel
Dans l'article , a dit...
À (at) 17 Jan 2008 16:11:36 GMT, (Jean-Louis MOREL) écrivait (wrote):
La variable incrémentée n'est pas la même variable que celle qui est initialisée :
% perl -e '$inc='0000' ; for (1..5) {print $incr++, "n"}' ^ il y a un r en trop là ;-)
Ça ne suffit pas ! Il faut aussi être cohérent sur l'utilisation des guillemets et des apostrophes... ;-)
J'avoue ! Contrairement à mon bout de code initial, je n'ai pas testé le "oneliner" : ce n'est jamais facile sous Windows - les guillemets simples ne sont pas reconnus par le shell.
C:tmp>perl -we '$inc="0000" ; for (1..5) {print $inc++, "n"}' Can't find string terminator "'" anywhere before EOF at -e line 1.
Obligé d'utiliser des guillemets doubles englobants et de protéger les guillemets à l'intérieur :
Dans l'article <wt9myr4mnbv.fsf@marceau.enstimac.fr>,
Paul.Gaborit@invalid.invalid a dit...
À (at) 17 Jan 2008 16:11:36 GMT,
jl_morel@bribes.org (Jean-Louis MOREL) écrivait (wrote):
La variable incrémentée n'est pas la même variable que celle qui est
initialisée :
% perl -e '$inc='0000' ; for (1..5) {print $incr++, "n"}'
^
il y a un r en trop là ;-)
Ça ne suffit pas ! Il faut aussi être cohérent sur l'utilisation des
guillemets et des apostrophes... ;-)
J'avoue ! Contrairement à mon bout de code initial, je n'ai pas testé le
"oneliner" : ce n'est jamais facile sous Windows - les guillemets simples
ne sont pas reconnus par le shell.
C:tmp>perl -we '$inc="0000" ; for (1..5) {print $inc++, "n"}'
Can't find string terminator "'" anywhere before EOF at -e line 1.
Obligé d'utiliser des guillemets doubles englobants et de protéger les
guillemets à l'intérieur :
À (at) 17 Jan 2008 16:11:36 GMT, (Jean-Louis MOREL) écrivait (wrote):
La variable incrémentée n'est pas la même variable que celle qui est initialisée :
% perl -e '$inc='0000' ; for (1..5) {print $incr++, "n"}' ^ il y a un r en trop là ;-)
Ça ne suffit pas ! Il faut aussi être cohérent sur l'utilisation des guillemets et des apostrophes... ;-)
J'avoue ! Contrairement à mon bout de code initial, je n'ai pas testé le "oneliner" : ce n'est jamais facile sous Windows - les guillemets simples ne sont pas reconnus par le shell.
C:tmp>perl -we '$inc="0000" ; for (1..5) {print $inc++, "n"}' Can't find string terminator "'" anywhere before EOF at -e line 1.
Obligé d'utiliser des guillemets doubles englobants et de protéger les guillemets à l'intérieur :
À (at) 17 Jan 2008 16:11:36 GMT, (Jean-Louis MOREL) écrivait (wrote):
La variable incrémentée n'est pas la même variable que celle qu i est initialisée :
% perl -e '$inc='0000' ; for (1..5) {print $incr++, "n"}' ^ il y a un r en trop l à ;-) Ça ne suffit pas ! Il faut aussi être cohérent sur l'utilisation des
guillemets et des apostrophes... ;-)
J'avoue ! Contrairement à mon bout de code initial, je n'ai pas testé le "oneliner" : ce n'est jamais facile sous Windows - les guillemets simpl es ne sont pas reconnus par le shell.
C:tmp>perl -we '$inc="0000" ; for (1..5) {print $inc++, "n"}' Can't find string terminator "'" anywhere before EOF at -e line 1.
Obligé d'utiliser des guillemets doubles englobants et de protéger les guillemets à l'intérieur :
Dans l'article<wt9myr4mnbv.fsf@marceau.enstimac.fr>,
Paul.Gaborit@invalid.invalid a dit...
À (at) 17 Jan 2008 16:11:36 GMT,
jl_morel@bribes.org (Jean-Louis MOREL) écrivait (wrote):
La variable incrémentée n'est pas la même variable que celle qu i est
initialisée :
% perl -e '$inc='0000' ; for (1..5) {print $incr++, "n"}'
^
il y a un r en trop l à ;-)
Ça ne suffit pas ! Il faut aussi être cohérent sur l'utilisation des
guillemets et des apostrophes... ;-)
J'avoue ! Contrairement à mon bout de code initial, je n'ai pas testé le
"oneliner" : ce n'est jamais facile sous Windows - les guillemets simpl es
ne sont pas reconnus par le shell.
C:tmp>perl -we '$inc="0000" ; for (1..5) {print $inc++, "n"}'
Can't find string terminator "'" anywhere before EOF at -e line 1.
Obligé d'utiliser des guillemets doubles englobants et de protéger les
guillemets à l'intérieur :
À (at) 17 Jan 2008 16:11:36 GMT, (Jean-Louis MOREL) écrivait (wrote):
La variable incrémentée n'est pas la même variable que celle qu i est initialisée :
% perl -e '$inc='0000' ; for (1..5) {print $incr++, "n"}' ^ il y a un r en trop l à ;-) Ça ne suffit pas ! Il faut aussi être cohérent sur l'utilisation des
guillemets et des apostrophes... ;-)
J'avoue ! Contrairement à mon bout de code initial, je n'ai pas testé le "oneliner" : ce n'est jamais facile sous Windows - les guillemets simpl es ne sont pas reconnus par le shell.
C:tmp>perl -we '$inc="0000" ; for (1..5) {print $inc++, "n"}' Can't find string terminator "'" anywhere before EOF at -e line 1.
Obligé d'utiliser des guillemets doubles englobants et de protéger les guillemets à l'intérieur :
Oui, 'ils' m'ont déjà donné des solutions sous cette forme à un moment et j'avais pas compris. Mais en fait, c'est assez simple "d'integrer" ça à un script. Suffit de chercher un petit peu. Donner des exemples dans ce style est utile car ça reduit l'exemple à sa plus simple expression.
Mag wrote:
Merci, mais c'est en ligne de commande.
Oui, 'ils' m'ont déjà donné des solutions sous cette forme à un moment
et j'avais pas compris. Mais en fait, c'est assez simple "d'integrer" ça
à un script. Suffit de chercher un petit peu.
Donner des exemples dans ce style est utile car ça reduit l'exemple à sa
plus simple expression.
Oui, 'ils' m'ont déjà donné des solutions sous cette forme à un moment et j'avais pas compris. Mais en fait, c'est assez simple "d'integrer" ça à un script. Suffit de chercher un petit peu. Donner des exemples dans ce style est utile car ça reduit l'exemple à sa plus simple expression.