[Perl] Recuperer une liste de commande [Fermé]

Signaler
Messages postés
4
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
21 avril 2008
-
Messages postés
4
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
21 avril 2008
-
Bonjour,
je suis sur un probleme depuis 3 jours et j'avance pas donc j'ai vraiment besoin de votre aide...
En fait je veux recuperer une liste de commande (.txt) , et apres creer un fichier (dans mon cas un .rts) pour chaque commande.

voici mon programme:

open (G, "<texte.txt") or die "impossible";
$i=0;
while (my $ligne = <G>) {
@L[$i] = $ligne;
$i++;
}

close G;

print "@L";#test

foreach $com (@L) {
print "$com";#test
open (COMMANDE, ">$com.rts") or die "impossible 2";#mon probleme est ici -> il ne veut pas creer mes points rts et d'apres moi ca provient de mon tableau qui est mal definit...
close COMMANDE;
}


Merci d'avance

1 réponse

Messages postés
441
Date d'inscription
dimanche 13 janvier 2008
Statut
Membre
Dernière intervention
5 mai 2008
62
Salut,

Tu as oublié que lorsque tu lis les commandes dans texte.txt, tu as un retour-chariot à chaque fois dans ta variable. Pour le virer, utiliser chomp

J'ai aussi ajouté un $com =~ s/\W+/_/g; pour que tes noms de fichiers n'aient pas des têtes u peu trop bizarres, mais tu peux le virer...

#!/usr/bin/perl

use warnings;
use strict;
open (G, "<texte.txt") or die "impossible";
my $i=0;
my @L = ();
while (my $ligne = <G>) {
        chomp($L[$i] = $ligne);
        $i++;
}

close G;

print "@L";#test

foreach my $com (@L) {
        $com =~ s/\W+/_/g;
        print "$com";#test
        open (COMMANDE, ">$com.rts") or die "impossible 2";#mon probleme est ici -> il ne veut pas creer mes points rts et d'apres moi ca provient de mon tableau qui est mal definit...
        close COMMANDE;
}


use strict est ton ami !



Raph
Messages postés
4
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
21 avril 2008

merci beaucoup Raph,

Tu m'as bien aidé.
En esperant pouvoir faire de meme pour toi plus tard...

A+