[Perl] foreach commande
Résolu/Fermé
A voir également:
- Perl foreach
- Denon perl pro test - Accueil - Audio
- Active perl - Télécharger - Édition & Programmation
- Powershell boucle foreach ✓ - Forum PowerShell
- Foreach if php ✓ - Forum PHP
- Shell foreach ✓ - Forum Shell
5 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
20 sept. 2006 à 12:09
20 sept. 2006 à 12:09
Salut,
je crois que tu peux le faire tout d'un coup.
je lis pays.txt
je récupere le premier pays 'DE'.
je lance change_param qui met à jour param.txt $$COUNTRY=DE
je lance ma commande ma_commande
etc...pour PT , CZ et RO.
je vois comme ça, mais je ne suis pas sûr si je n'ai pas les détails
je lis pays.txt
je récupere les pays
je met à jour param.txt
Ca sera mieux si tu peux afficher les codes que tu as.
ma_commande c'est quoi?
change_param.pl ?
Si on peut le faire avec un seul script, pourquoi pas?
A toi de voir. Peut être tu as tes raison.
A savoir que t'as commande tu peux l'utiliser depuis le script.
As-tu commencé un bout de code?
Pas forcémént foreach si un while sur un handle de fichier fait l'affaire.
A toi.
lami20j
P.S. foreach ce n'est pas une commande mais une instruction
je crois que tu peux le faire tout d'un coup.
je lis pays.txt
je récupere le premier pays 'DE'.
je lance change_param qui met à jour param.txt $$COUNTRY=DE
je lance ma commande ma_commande
etc...pour PT , CZ et RO.
je vois comme ça, mais je ne suis pas sûr si je n'ai pas les détails
je lis pays.txt
je récupere les pays
je met à jour param.txt
Ca sera mieux si tu peux afficher les codes que tu as.
ma_commande c'est quoi?
change_param.pl ?
Si on peut le faire avec un seul script, pourquoi pas?
A toi de voir. Peut être tu as tes raison.
A savoir que t'as commande tu peux l'utiliser depuis le script.
As-tu commencé un bout de code?
Pas forcémént foreach si un while sur un handle de fichier fait l'affaire.
A toi.
lami20j
P.S. foreach ce n'est pas une commande mais une instruction
blux
Messages postés
26546
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
24 décembre 2024
3 319
20 sept. 2006 à 15:35
20 sept. 2006 à 15:35
Tu peux éclater ta variable et la mettre dans un tableau avec split :
@PAYS = split(/;/,$$COUNTRY)
Ensuite, tu boucles sur ton tableau avec :
for $i (0..$#PAYS)
Ca irait ?
@PAYS = split(/;/,$$COUNTRY)
Ensuite, tu boucles sur ton tableau avec :
for $i (0..$#PAYS)
Ca irait ?
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
20 sept. 2006 à 19:08
20 sept. 2006 à 19:08
Re,
regarde ça et dit si ça te convient.
Et même sans variable
regarde ça et dit si ça te convient.
#!/usr/bin/perl use warnings;use strict; my @pays; open F_PAYS,"pays.txt" or die "E/S : $!\n"; while ( <F_PAYS> ) { # je lit pays.txt s/(.*)/$1;/; # j'ajoute un ; à la fin pour créer @pays @pays = $_ =~ /(\w\w);/g;# je stocke les pays } # param.txt ne contient que $$COUNTRY= ?? # en ce cas je ne crois pas que tu as besoin de ce fichier # tu peux utiliser une variable # donc l'étape ./changer_param.pl pays.txt param.txt tu peux la sauter # my $param ='$$COUNTRY='; foreach (@pays){ system ("echo", "$param$_"); # tu remplaces echo avec ma_commande }
Et même sans variable
#!/usr/bin/perl use warnings;use strict; my @pays; open F_PAYS,"pays.txt" or die "E/S : $!\n"; while ( <F_PAYS> ) { # je lit pays.txt s/(.*)/$1;/; # j'ajoute un ; à la fin pour créer @pays @pays = $_ =~ /(\w\w);/g;# je stocke les pays } # param.txt ne contient que $$COUNTRY= ?? # en ce cas je ne crois pas que tu as besoin de ce fichier # donc l'étape ./changer_param.pl pays.txt param.txt tu peux la sauter foreach (@pays){ system ("echo", '$$COUNTRY='."$_"); # tu remplaces echo avec ma_commande }lami20j
Ma commande c'est vraiment spécifique, c'est pas utile de rentrer dans le détail:ce qui est important c'est que change_param.pl(script perl qui modifie dans param.txt et en prenant deux parametres, le fichier contenant le contenu de variable $$COUNTRY et le fichier param à mettre à jour) mette à jour la variable pour qu'à l'execution de ma_commande, il est la bonne variable pays.
J'ai essayé ça,
open VAR,pays.txt or die "E/S : $!\n";
open PARAM,param.txt or die "E/S : $!\n";
open RES,">resultat.txt" or die "E/S : $!\n";
my @p = <RES>;
my %h;
while (<VAR>){
--c'est ici que je sais pas comment découper par $$COUNTRY=DE;PT;RO; et mettre dans VAR successivement DE puis PT puis RO
print $$COUNTRY=DE; RES;
exec(./change_param.pl RES PARAM);
exec(ma_commande);
}
Merci Lamij
J'ai essayé ça,
open VAR,pays.txt or die "E/S : $!\n";
open PARAM,param.txt or die "E/S : $!\n";
open RES,">resultat.txt" or die "E/S : $!\n";
my @p = <RES>;
my %h;
while (<VAR>){
--c'est ici que je sais pas comment découper par $$COUNTRY=DE;PT;RO; et mettre dans VAR successivement DE puis PT puis RO
print $$COUNTRY=DE; RES;
exec(./change_param.pl RES PARAM);
exec(ma_commande);
}
Merci Lamij
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question