Bonjour,

Voilà mon problème : j'ai des fichiers dans un serveur distant que je veux accéder par ftp sur lesquels je veux lancer un script perl à partir de mon serveur local.

Je ne connais pas le nombre de fichier à traiter.
Je ne connais pas les noms des fichiers.
Je n'ai pas assez de place en local pour rapatrier tous les fichiers.

Les solutions explorées étaient :
- de récupérer les fichiers un à un, de lancer le perl et de le supprimer
--> je n'ai jamais réussi à faire une boucle qui fonctionne, voici ma base :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
ftp -i -n -v << =END=
open $hostname
user $username $password
cd $repertoire
get $filename
quit
=END=
 
perl monfichier.pl $filename
A chaque fois que j'essaye de placer le for ça ne va pas...

- de lancer le script perl directement sur le dossier distant et d'écrire le résultat en local
--> Voilà ce que j'ai fait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
ftp -i -n -v << =END=
open $hostname
user $username $password
cd $repertoire
!perl monfichier.pl $repertoire/*
quit
=END=
Sans ! l'instruction perl n'est pas reconnue et avec c'est le répertoire qui n'existe plus (car il cherche en local)


Est-ce que vous avez des solutions à me proposer ?

Merci d'avance