Aide script perl

Aide script perl - Perl - Programmation

Marsh Posté le 15-03-2007 à 14:21:30    

Bonjour !  
Voila mon probleme, je dois lancer un script que j'ai récupéré sur le web (libre de droit)  
j'ai installé mingw j'essaie de faire ce qui est dit seulement je suis un peu perdu ca marche pas :(  
 
Voila les consignes et le script donné :
 
"...Il est possible de convertir facilement un lot de fichier si on dispose d'un
interpréteur shell.  Le programme suivant convertit les échanges de chaque
répertoire ediXXX dans mifXXX, et enregistre les logs dans logXXX.
Il suffit de rechercher dans ces derniers la chaîne "Erreur" ou "ERREUR"
pour voir si tout s'est bien passé une fois la traduction faite.
 
Ceci est très utile si on veut convertir un département entier (un test sur
l'Ain a donné 8h20, sur un Pentium Dual Core 2.8 GHz, 1 Go RAM, disque SCSI).
 
--------------------------- batch.sh
#!/bin/sh
for f in edi???
do
  perl edi2mif.pl $f `echo $f | sed 's/edi/mif/'` > `echo $f | sed 's/edi/log/'` 2>&1
 echo $f termine
done
-------------------------- fin du fichier
..."

 voila je vous remercie d'avance  :jap:

Reply

Marsh Posté le 15-03-2007 à 14:21:30   

Reply

Marsh Posté le 15-03-2007 à 14:36:36    

ce que tu montres ici, c'est le shell script qui te permet d'appeler ton perl-script de conversion sur tout un ensemble de fichiers.
 
Qu'est-ce qui ne marche pas ? Est-ce que c'est le shell-script, ou bien le perl-script ? Que se passe-t-il si tu lances ta conversion directement en ligne de commande :

perl edi2mif.pl fich.edi fich.mif


---------------
TriScale innov
Reply

Marsh Posté le 15-03-2007 à 14:47:35    

le script en ligne de commande marche .... c lorsque que je passe pas Mingw que ca deconne...

Reply

Marsh Posté le 15-03-2007 à 15:15:49    

Dans ce cas, tu devrais plutôt poster dans la catégorie shell/batch.
 
Je ne connais pas du tout minGW... Pour moi, il ne s'agissait que d'un ensemble de headers et libs qui te permettaient de compiler sous win un prog écrit pour Linux. Ca te fournit aussi un shell ?
 
Qu'est-ce que tu obtiens comme erreur quand tu exécutes ton script ?


---------------
TriScale innov
Reply

Marsh Posté le 15-03-2007 à 16:00:47    

ben le truc c que je ne sais pas vraiment comment faire pour exécuter le script .... et quelle est la syntaxe du chemin de mes repertoires...?
Au fait je ne connait pas du tout le PERL... :(
et mes notions de programmation sont un peu loin
Quand je tape la premier ligne: #!/bin/sh et que je fait Enter pour taper la suite il me dit : event not found

Message cité 1 fois
Message édité par gga_mars le 15-03-2007 à 16:05:55
Reply

Marsh Posté le 15-03-2007 à 16:30:23    

gga_mars a écrit :

ben le truc c que je ne sais pas vraiment comment faire pour exécuter le script .... et quelle est la syntaxe du chemin de mes repertoires...?
Au fait je ne connait pas du tout le PERL... :(
et mes notions de programmation sont un peu loin
Quand je tape la premier ligne: #!/bin/sh et que je fait Enter pour taper la suite il me dit : event not found


 
Déjà, le script que tu as montré n'est pas du perl : c'est du bash (du shell).
Si tu tapes ça directement dans une console windows, ça ne marchera pas. Il faut que enregistres ton script dans un fichier. Ensuite, il faut que tu trouves un interpréteur pour exécuter le script. Si tu étais sous Linux, ce serait simple. Sous windows, je ne sais pas du tout comment faire (à moins d'installer cygwin, mais j'espère qu'il y a des solutions plus simples).
 
en bref, il te manque un interpréteur bash pour windows, ou alors il faudra que tu écrives l'équivalent de ce script en batch (je suis sûr que tu trouveras du monde pour t'aider dans la catégorie "shell, batch" )


---------------
TriScale innov
Reply

Marsh Posté le 15-03-2007 à 16:31:43    

Merci beaucoup de ton aide ....  :jap: je post sur shell batch
@ ++ :)
si qqun peut me repondre je dis pas non meme ici !


Message édité par gga_mars le 15-03-2007 à 16:50:06
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed