[PERL] FTP-Upload mit Fehlerprüfung?

Huhu,

ich mal wieder *g*
Nachdem Cheatah so freundlich war mir zu sagen, wie ich ein FTP-Transfer mache und ich nun auch weiss, wo ich die PERL-Hilfe dazu finde hab ich aber immernoch ein Problem …
Ich mache ein Upload so:

#!/usr/bin/perl
use Net::FTP;
$ftp = Net::FTP-\>new($\_FTP\_host);
$ftp-\>login($\_FTP\_user,$\_FTP\_password);
$ftp-\>cwd($\_FTP\_remotedir);
$ftp-\>put("$program\_path/$in{'cid'}/server/server.cfg");
$ftp-\>put("$program\_path/$in{'cid'}/server/motd.txt");
$ftp-\>put("$program\_path/$in{'cid'}/server/mapcycle.txt");
$ftp-\>quit;

ind diesem Beispiel lade ich 3 Dateien auf den FTP-Server. Das Script funzt 100%ig, aber ich weiss nie, wenn es z.B. einen Verbindungsfehler mit dem FTP-Server gab.
Wenn ich z.B. das Password mit Absicht falsch eingebe, läuft das Script ohne Mukken durch. Für den Enduser hat es also den Schein, als wäre alles ok …
wie baue ich eine Feherkontrolle bei sowas ein? Mit:

$ftp-\>login($\_FTP\_user,$\_FTP\_password) || die("Fehler trat auf; $!");

funktioniert es leider auch nicht. Denn er rutscht in diesem Fall IMMER in die Fehleranweisung hinein, egal ob alles stimmt oder nicht… es muss also irgendwie anders gehen … Die Hilfe zu diesem Thema gibt mir leider überhaupt keinen Aufschluss darüber :frowning:
kann mir Jemand helfen?

Gruss,
MF

Hi!
Nur so eine Idee: Du könntest nach dem Erstellen überprüfen, ob die Datei da ist (mit if -e) und ob sie die gleiche Größe hat, wie die Datei auf der HD!
CU
Dennis

Hi,

ind diesem Beispiel lade ich 3 Dateien auf den FTP-Server. Das
Script funzt 100%ig, aber ich weiss nie, wenn es z.B. einen
Verbindungsfehler mit dem FTP-Server gab.

ich prüfe an solchen Stellen immer mit $ftp->pwd(), ob ich ein erwartetes Ergebnis zurückbekomme. Das erfordert natürlich lokales „Mitschleifen“ des Remote-Verzeichnisses, dürfte aber an sich kein Problem sein.

In der Tat, auch mir fehlt die Rückgabe des Statuscodes, den der Server gemeldet hat. Ich müßte mal im Quellcode des Moduls nachgucken, ob es da nicht doch eine versteckte Methode für gibt… oder ob man sie schaffen kann :wink:

Cheatah