Thread unlink löscht Datei nicht "komplett" (5 answers)
Opened by amun-ra198 at 2007-11-07 13:08

amun-ra198
 2007-11-07 14:57
#101961 #101961
User since
2007-10-11
13 Artikel
BenutzerIn
[default_avatar]
Hallo,

der Code gibt an dieser Stelle leider nicht viel her:
Code: (dl )
1
2
3
4
if (-e "$parameters{Basedir}\\$parameters{FTP_control_file}")
{
unlink "$parameters{Basedir}\\$parameters{FTP_control_file}";
}


später hole ich eine Datei gleichen Namens dann per FTP ab und Stelle sie in das entsprechende Verzeichnis.
Code: (dl )
1
2
3
4
5
use Net::FTP;

...

$result=$ftp->get($control_file,"$destpath\\$control_file");


Zugriffsprobleme schließe ich eigentlich aus, da das Löschen der Datei einwandfrei funktioniert. Die Datei ist weg und ich erhalte auch keine Fehlermeldung.
Erstelle ich dann jedoch innerhalb kurzer Zeit danach eine neue Datei (egal wie) steht, inhaltlich, wieder die alte Datei dort. Wenn ich etwas länger warte und das gleiche Programm nochmal ausführe klappt es dann.

Vielleicht mal etwas, was man besser nachvollziehen kann (und was eventuell die gleiche Ursache hat):
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
$file = 'irgendwas.log';
@test = ('was','genau','passiert','hier');
open (TEST, "> $file");
print TEST @test;
close TEST;

unlink $file;

@test1 = ('1','2','3','4','5');
open (TEST, "> $file");
print TEST @test1;
close TEST;


Zumindest auf meinem System (Windows XP) ändert sich das Erstellungsdatum der Datei wenn man das Skript mehrmals laufen läßt NICHT. Warum ist da so? Vielleicht ist das auch der Grund für obiges Phänomen.

View full thread unlink löscht Datei nicht "komplett"