Net::ftp code retour

Net::ftp code retour - Perl - Programmation

Marsh Posté le 21-04-2009 à 10:43:50    

Salut,
 
J'utilise net::ftp et j'aimerai recupérer les codes retour de certaine method.
Pour la connexion par exemple, si elle echoue, je n'ai aucun code retour
 

Code :
  1. $ftp = Net::FTP->new("$machine", Debug => 0);


 
je suis obliger de faire un test comme ceci
mais sa me parait basic:

Code :
  1. if($@ ne "" )
  2. {
  3. print "$@\n";
  4. exit 1;
  5. }


 
je ne veux pas utilise le
 

Citation :


 or die "Cannot connect to some.host.name: $@";


merci

Reply

Marsh Posté le 21-04-2009 à 10:43:50   

Reply

Marsh Posté le 21-04-2009 à 17:09:07    

existe il une solution simple
pour gerer les erreur;
pouvoir afficher dans la log
et ne pas avoir un die
qui arrete le script certes mais qui ne me permet pas
de mettre de message dans ma log

Reply

Marsh Posté le 21-04-2009 à 17:37:28    

bah tu fais pas de die et voilà, et tu te reconnectes, en prenant depuis le début.

Reply

Marsh Posté le 22-04-2009 à 08:05:30    

apparamment avec un eval c'est possible
 
eval {
$ftp->login("$machine",'user2');
} ;
if ($@) {
 print "error";exit 1;
}

Reply

Marsh Posté le 22-04-2009 à 08:06:09    

merci taz, super gestion des erreur

Reply

Marsh Posté le 23-04-2009 à 01:02:07    

donny3 a écrit :

Salut,
 
J'utilise net::ftp et j'aimerai recupérer les codes retour de certaine method.
Pour la connexion par exemple, si elle echoue, je n'ai aucun code retour
 
merci

Pourquoi faire compliqué avec des évals quand on peut faire simple? Suffit de lire la doc de net::ftp:

Citation :

If the constructor fails undef will be returned and an error message will be in $@


Donc apres un $ftp = Net::FTP->new("$machine", Debug => 0);
il suffit de tester si $ftp est défini ou non:
if defined $ftp ...
 
Et pour les autres méthodes, c'est dans la doc:

Citation :

Unless otherwise stated all methods return either a true or false value, with true meaning that the operation was a success. When a method states that it returns a value, failure will be returned as undef or an empty list.


A+,


Message édité par gilou le 23-04-2009 à 01:04:15

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Sujets relatifs:

Leave a Replay

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