PERL : ftp retry ... [Résolu/Fermé]

Signaler
Messages postés
200
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
14 août 2014
-
Messages postés
200
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
14 août 2014
-
Bonjour,

je ne vois pas ce qui cloche, on dirait que le perl ne rentre jamais dans mon until :


#!/usr/bin/perl

use Sys::Hostname;
use Net::FTP;


$ftp_host="192.168.0.2";
$ftp_usr="login";
$ftp_mdp="pass";
$ftp_destination_rep = '/home/data/';

$email_from='from@domain.com';
$email_to='to@domain.com';

$ftp_ok=false;
until ($retry == 0 || $ftp_ok) {
	print "appel";
	$ftp_ok=ftp_upload($repertoire_destinataire,$fichier_destinataire);
	print "retour : $ftp_ok\n";
	$retry--;
	if (!$ftp_ok) {sleep(30);}
}


sub ftp_upload
{
	($repertoire, $fichier) = @_;
	
	$ftp = Net::FTP->new($ftp_host, Debug => 0, Timeout=>240)
		or do {
			print "connexion impossible sur $ftp_host: $@\n";
			return 0;
		};
		#or die "Cannot connect to $goftp_ftp: $@";
	
	$ftp->login($ftp_usr,$ftp_mdp)
		or do {
			print "login impossible sur $ftp_host:",$ftp->message;
			return 0;
		};
		#or die "Cannot login ", $ftp->message; 
	
	print "upload de $repertoire/$fichier\n";
	
	$ftp->put("$repertoire/$fichier")
		or do {
			print "put impossible sur $ftp_host de $repertoire$fichier :",$ftp->message;
			return 0;
		};
		#or die "put failed ", $ftp->message;
	
	print "fin upload de $repertoire/$fichier\n";
	
	$ftp->quit;
	return 1;
}
__END__



J'ai surement raté un truc débile ....

Stéphane

3 réponses

Messages postés
18242
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
13 juin 2021
5 303
hello
que vaut $retry avant le until ?
Messages postés
200
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
14 août 2014
2
$retry=3;

j'ai oublié de le copier/coller.

Stéphane
Messages postés
18242
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
13 juin 2021
5 303
que vaut $ftp_ok=false; ?
essaye $ftp_ok=0;
Messages postés
697
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
31 décembre 2017
143
Toutes ces erreurs te seraient reportées si tu utilisais les pragmas suivants:
use strict;
use warnings;
C'est plus qu'une excellente habitude à prendre... mais, bien sûr, tu as le choix ;-)
Bonne continuation.
Messages postés
200
Date d'inscription
jeudi 20 décembre 2007
Statut
Membre
Dernière intervention
14 août 2014
2
Merci pour ces infos, mais si je mets ça il ne compile plus et me mets 200000 erreurs (le vrai code n'est pas celui posté, il fait plusieurs pages).

mais on dirait bien que le false était en cause ....

Merci encore.

Stéphane