J'ai une chaine de caracteres de la forme suivante
0001234025489601111110326589000012400000010235402
il faut que je la coupe tous les 7 caratères et que j'en fasse la somme.
Je viens de me rendre compte que pour se servir de split je suis obligé
d'avoir un motif de reconnaissance. Est-ce que je suis obligé d'utiliser
substr pour mes sept chaines ou bien il y a t'il une autre solution.
pour la somme je fais $machaine1 + $machaine2 + $machaine3 ...le
problème c'est qu'il me fait sauter les 0 qui sont à gauche.
Comment faire pour les remettre?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
jl_morel
Dans l'article <40121b02$0$28701$, a dit...
J'ai une chaine de caracteres de la forme suivante 0001234025489601111110326589000012400000010235402 il faut que je la coupe tous les 7 caratères et que j'en fasse la somme.
Je viens de me rendre compte que pour se servir de split je suis obligé d'avoir un motif de reconnaissance. Est-ce que je suis obligé d'utiliser substr pour mes sept chaines ou bien il y a t'il une autre solution. pour la somme je fais $machaine1 + $machaine2 + $machaine3 ...le problème c'est qu'il me fait sauter les 0 qui sont à gauche. Comment faire pour les remettre?
On peut utiliser unpack pour découper la chaîne et printf ou sprintf pour rajouter les zéros à gauche.
#!/usr/bin/perl -w use strict;
my $chaine = '0001234025489601111110326589000012400000010235402';
my $s; $s+=$_ foreach (unpack "(A7)*", $chaine);
printf "%07d", $s;
__END__
-- J-L.M.
Dans l'article <40121b02$0$28701$626a54ce@news.free.fr>, delorme.e@fraaaaaa.fr
a dit...
J'ai une chaine de caracteres de la forme suivante
0001234025489601111110326589000012400000010235402
il faut que je la coupe tous les 7 caratères et que j'en fasse la somme.
Je viens de me rendre compte que pour se servir de split je suis obligé
d'avoir un motif de reconnaissance. Est-ce que je suis obligé d'utiliser
substr pour mes sept chaines ou bien il y a t'il une autre solution.
pour la somme je fais $machaine1 + $machaine2 + $machaine3 ...le
problème c'est qu'il me fait sauter les 0 qui sont à gauche.
Comment faire pour les remettre?
On peut utiliser unpack pour découper la chaîne et printf ou sprintf
pour rajouter les zéros à gauche.
#!/usr/bin/perl -w
use strict;
my $chaine = '0001234025489601111110326589000012400000010235402';
J'ai une chaine de caracteres de la forme suivante 0001234025489601111110326589000012400000010235402 il faut que je la coupe tous les 7 caratères et que j'en fasse la somme.
Je viens de me rendre compte que pour se servir de split je suis obligé d'avoir un motif de reconnaissance. Est-ce que je suis obligé d'utiliser substr pour mes sept chaines ou bien il y a t'il une autre solution. pour la somme je fais $machaine1 + $machaine2 + $machaine3 ...le problème c'est qu'il me fait sauter les 0 qui sont à gauche. Comment faire pour les remettre?
On peut utiliser unpack pour découper la chaîne et printf ou sprintf pour rajouter les zéros à gauche.
#!/usr/bin/perl -w use strict;
my $chaine = '0001234025489601111110326589000012400000010235402';
my $s; $s+=$_ foreach (unpack "(A7)*", $chaine);
printf "%07d", $s;
__END__
-- J-L.M.
Eric D
"Eric D" a écrit dans le message de news:40121b02$0$28701$
Bonjour
J'ai une chaine de caracteres de la forme suivante 0001234025489601111110326589000012400000010235402 il faut que je la coupe tous les 7 caratères et que j'en fasse la somme.
Je viens de me rendre compte que pour se servir de split je suis obligé
d'avoir un motif de reconnaissance. Est-ce que je suis obligé d'utiliser substr pour mes sept chaines ou bien il y a t'il une autre solution. pour la somme je fais $machaine1 + $machaine2 + $machaine3 ...le problème c'est qu'il me fait sauter les 0 qui sont à gauche. Comment faire pour les remettre?
Merci pour les Réponses A#
Ca fonctionne mais je ne trouve pas ca trés beau
use strict;
my $CHEMIN="d:test"; my @ENCOURS; # tableau temporaire my @TRIE; # tableau trie my $CHAINE; # chaine à traiter my $CHAINE1; # chaine à traiter my $CHAINE2; # chaine à traiter my $CHAINE3; # chaine à traiter my $CHAINE4; # chaine à traiter my $CHAINE5; # chaine à traiter my $CHAINE6; # chaine à traiter my $CHAINE7; # chaine à traiter my $TEMP; # chaine temporaire
"Eric D" <delorme.e@fraaaaaa.fr> a écrit dans le message de
news:40121b02$0$28701$626a54ce@news.free.fr...
Bonjour
J'ai une chaine de caracteres de la forme suivante
0001234025489601111110326589000012400000010235402
il faut que je la coupe tous les 7 caratères et que j'en fasse la
somme.
Je viens de me rendre compte que pour se servir de split je suis
obligé
d'avoir un motif de reconnaissance. Est-ce que je suis obligé d'utiliser
substr pour mes sept chaines ou bien il y a t'il une autre solution.
pour la somme je fais $machaine1 + $machaine2 + $machaine3 ...le
problème c'est qu'il me fait sauter les 0 qui sont à gauche.
Comment faire pour les remettre?
Merci pour les Réponses A#
Ca fonctionne mais je ne trouve pas ca trés beau
use strict;
my $CHEMIN="d:\test";
my @ENCOURS; # tableau temporaire
my @TRIE; # tableau trie
my $CHAINE; # chaine à traiter
my $CHAINE1; # chaine à traiter
my $CHAINE2; # chaine à traiter
my $CHAINE3; # chaine à traiter
my $CHAINE4; # chaine à traiter
my $CHAINE5; # chaine à traiter
my $CHAINE6; # chaine à traiter
my $CHAINE7; # chaine à traiter
my $TEMP; # chaine temporaire
"Eric D" a écrit dans le message de news:40121b02$0$28701$
Bonjour
J'ai une chaine de caracteres de la forme suivante 0001234025489601111110326589000012400000010235402 il faut que je la coupe tous les 7 caratères et que j'en fasse la somme.
Je viens de me rendre compte que pour se servir de split je suis obligé
d'avoir un motif de reconnaissance. Est-ce que je suis obligé d'utiliser substr pour mes sept chaines ou bien il y a t'il une autre solution. pour la somme je fais $machaine1 + $machaine2 + $machaine3 ...le problème c'est qu'il me fait sauter les 0 qui sont à gauche. Comment faire pour les remettre?
Merci pour les Réponses A#
Ca fonctionne mais je ne trouve pas ca trés beau
use strict;
my $CHEMIN="d:test"; my @ENCOURS; # tableau temporaire my @TRIE; # tableau trie my $CHAINE; # chaine à traiter my $CHAINE1; # chaine à traiter my $CHAINE2; # chaine à traiter my $CHAINE3; # chaine à traiter my $CHAINE4; # chaine à traiter my $CHAINE5; # chaine à traiter my $CHAINE6; # chaine à traiter my $CHAINE7; # chaine à traiter my $TEMP; # chaine temporaire
"Jean-Louis MOREL" a écrit dans le message de news:butbim$8tu$
Dans l'article <40121b02$0$28701$,
a dit...
J'ai une chaine de caracteres de la forme suivante 0001234025489601111110326589000012400000010235402 il faut que je la coupe tous les 7 caratères et que j'en fasse la somme.
Je viens de me rendre compte que pour se servir de split je suis obligé
d'avoir un motif de reconnaissance. Est-ce que je suis obligé d'utiliser substr pour mes sept chaines ou bien il y a t'il une autre solution. pour la somme je fais $machaine1 + $machaine2 + $machaine3 ...le problème c'est qu'il me fait sauter les 0 qui sont à gauche. Comment faire pour les remettre?
On peut utiliser unpack pour découper la chaîne et printf ou sprintf pour rajouter les zéros à gauche.
#!/usr/bin/perl -w use strict;
my $chaine = '0001234025489601111110326589000012400000010235402';
my $s; $s+=$_ foreach (unpack "(A7)*", $chaine);
printf "%07d", $s;
__END__
-- J-L.M.
Merci 8-)
"Jean-Louis MOREL" <jl_morel@bribes.org> a écrit dans le message de
news:butbim$8tu$1@news-reader5.wanadoo.fr...
Dans l'article <40121b02$0$28701$626a54ce@news.free.fr>,
delorme.e@fraaaaaa.fr
a dit...
J'ai une chaine de caracteres de la forme suivante
0001234025489601111110326589000012400000010235402
il faut que je la coupe tous les 7 caratères et que j'en fasse la
somme.
Je viens de me rendre compte que pour se servir de split je suis
obligé
d'avoir un motif de reconnaissance. Est-ce que je suis obligé d'utiliser
substr pour mes sept chaines ou bien il y a t'il une autre solution.
pour la somme je fais $machaine1 + $machaine2 + $machaine3 ...le
problème c'est qu'il me fait sauter les 0 qui sont à gauche.
Comment faire pour les remettre?
On peut utiliser unpack pour découper la chaîne et printf ou sprintf
pour rajouter les zéros à gauche.
#!/usr/bin/perl -w
use strict;
my $chaine = '0001234025489601111110326589000012400000010235402';
"Jean-Louis MOREL" a écrit dans le message de news:butbim$8tu$
Dans l'article <40121b02$0$28701$,
a dit...
J'ai une chaine de caracteres de la forme suivante 0001234025489601111110326589000012400000010235402 il faut que je la coupe tous les 7 caratères et que j'en fasse la somme.
Je viens de me rendre compte que pour se servir de split je suis obligé
d'avoir un motif de reconnaissance. Est-ce que je suis obligé d'utiliser substr pour mes sept chaines ou bien il y a t'il une autre solution. pour la somme je fais $machaine1 + $machaine2 + $machaine3 ...le problème c'est qu'il me fait sauter les 0 qui sont à gauche. Comment faire pour les remettre?
On peut utiliser unpack pour découper la chaîne et printf ou sprintf pour rajouter les zéros à gauche.
#!/usr/bin/perl -w use strict;
my $chaine = '0001234025489601111110326589000012400000010235402';