Thread Fragen zu Net::FTP (7 answers)
Opened by MechaTikal at 2007-10-17 18:34

MechaTikal
 2007-10-17 18:34
#100987 #100987
User since
2007-10-10
20 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich habe ein Skript geschrieben, das sich auf einen FTP-Server verbindet und Dateien herunterladen soll. Voraussetzung dafür ist, dass es zu jeder Datei auch eine Flagdatei gibt, die anzeigt, dass das Original fertig hochgeladen ist. Also beispielsweise irgendwas.txt und irgendwas.txt.flag. Ich hab jetzt einen Hash gebastelt - Schlüssel ist das Original, Wert ist das Flagfile. Erste Frage:
Kann ich mit folgendem Code garantieren, dass zu jeder Datei die richtige Flagdatei gefunden wird? Ich frage, weil auf dem Testserver die Dateien geordnet sind, so dass die passenden Dateien eh untereinander liegen. Es funktioniert zwar, aber ich kann nicht garantiert sagen, dass es auch bei zufälliger Anordnung klappt.

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
my $flag = ".flag";
foreach my $file(@files) {
        if ($file !~ /$flag$/) {           
            print "$file\n";        
            $edifile = $file;       

        }
        my $search = "$edifile" . "$flag";
        print "gesucht wird: $search\n";
        if ($file =~ /$search$/) {
            $donefile = $file;      
            $filehash{$edifile} = $donefile;
        }
    }


Zweite Frage:
Code (perl): (dl )
1
2
3
4
        
my $store_directory = "./store";

$ftp->get($edi, $edi, $store_directory) or die "Could not download $edi: $!";

Da wüsst ich gern, warum die Dateien nicht im angegebenen Ordner, sondern im aktuellen Verzeichnis ankommen. Was mach ich denn da falsch?

View full thread Fragen zu Net::FTP