IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

commande systeme


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédactrice

    Avatar de stoyak
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    408
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 408
    Par défaut commande systeme
    Voilà, je voudrais effectuer en routine l'execution d'un prog qui est sur ma machine. Je veux donc effectuer une commande system.
    J'ai bien lu la F.A.Q. et j'ai trouvé la manière d'opérer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    system "mon_prog  fichier1.txt > resultat_fichier1.txt";
    Seulement, j'ai à faire ça sur un nombre important (petite 50aine) de fichiers et je voudrais boucler pour éviter d'écrire cette commande 50 fois !!

    Donc quelque chose du style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    my $i; # incrementation du numero de fichiers
    for ($i=0;$i<50;$i++){
                 system "mon_prog  fichier$i.txt > resultat_fichier$i.txt";
    }
    Mais vous vous en doutez bien, ça ne marche pas .. Comment faire pour que perl considère bien $i comme une variable à incrémenter dans ma commande systeme?

    Merci d'avance!!

  2. #2
    Membre Expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Par défaut
    Citation Envoyé par stoyak
    Mais vous vous en doutez bien, ça ne marche pas
    Justement, on ne s'en doute pas ...

    Peux-tu détailler le "ça ne marche pas" ? Qu'est ce que cela produit ... A première vue, cela devrait marcher à peu près.

    Juste pour tester, j'ai fait - à la ligne de commande - ceci qui fonctionne parfaitement et selon la même logique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl -e 'foreach $i (1..50) { system ("echo fichier$i > toto$i.toto") }'

  3. #3
    Rédactrice

    Avatar de stoyak
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    408
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 408
    Par défaut
    c'est ok!!! tout marche nickel!
    voilà mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    my $i;
    my $fic_ini = "fic.txt";
     
    for ($i=1;$i<12;$i++){
     
    	my $data = "ref".$i.".txt";
     
    	my $fic_fin = "fic_ref".$i.".txt";
     
    	system "mon_program $data  $fic_ini  > $fic_fin";
     
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec l'utilisation de la commande system awk
    Par vbcasimir dans le forum Linux
    Réponses: 3
    Dernier message: 05/10/2004, 17h18
  2. [le retour] commande systeme
    Par ronan99999 dans le forum Windows
    Réponses: 2
    Dernier message: 29/07/2004, 11h11
  3. [langage] Probleme avec commande system et code
    Par Ludo167 dans le forum Langage
    Réponses: 3
    Dernier message: 14/07/2004, 13h01
  4. Prblème avec la commande system
    Par AnneOlga dans le forum C++Builder
    Réponses: 8
    Dernier message: 04/03/2004, 17h05
  5. La commande systeme
    Par sunshine33 dans le forum MFC
    Réponses: 11
    Dernier message: 13/01/2004, 12h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo