S'il s'agit bien du module Net::SFTP::Recursive, la correction apportée par Lee (https://rt.cpan.org/Ticket/Attachmen...3/Recursive.pm) semble valide. Tu peux la tester en l'archivant quelque part mais en respectant l'arborescence Net::SFTP::Recursive => Net/SFTP/Recursive.pm, par exemple ./FOO/Net/SFTP/Recursive.pm (où . est le répertoire où réside ton script principal) et en invoquant perl comme suit :
perl -I ./FOO monbeauscript.pl sesarguments...
Pour mémoire, lorsque perl rencontre l'instruction
use Net::SFTP::Recursive ...;
il va rechercher un fichier Net/SFTP/Recursive.pm à partir de chacune des entrées dans @INC, en s'arrêtant dès qu'il en a trouvé un; -I ./FOO fait passer ./FOO en tête de @INC, ce qui signifie que ce répertoire sera recherché avant les autres (notamment la version récupérée de CPAN), ce qui est le but recherché ici.
On peut évidemment utiliser un path absolu pour ce répertoire.
-----------
Ceci dit, je te conseillerai, pour des raisons d'efficacité et de sécurité, d'utiliser Net::SFTP::Foreign (qui dispose des commandes rput et rget) plutôt que Net::SFTP et Net::SFTP::Recursive. C'est un poil plus délicat à déployer mais mieux supporté ( ) et beaucoup, beaucoup, beaucoup plus rapide, surtout pour le transfert d'arborescences complètes.
Partager