Nein, im Ernst. Du kannst auch mehr als eine Datei gleichzeitig offen halten. Probiere es aus.
Viele Gruesse
Kess
Hi Kess, hi Cheatah,
genau das hab ich ja versucht und da es nicht gefuntzt hat, hab ich gedacht, man dürfe keine 2 Dateien parallel geöffnet haben und das ganze müsse dann über eine Liaste laufen, usw. usw.
Das ganze sah dann so aus:
open (DB, ">$db\_file\_name") or ("Can't open: $db\_file\_name. Reason: $!");
if ($db_use_flock) {
flock (DB, 2);
}
foreach (@lines) {
next if /^#/;
next if /^\s*$/;
chomp;
@values = &split_decode ($_);
print "Comparing: '$today' vs '$values[$removeby_field]' ... <br>\n";
if ($today > (&date_to_unix($values[$dateadded_field]) + (86400 * $values[$removeby_field]))) {
print "Eintrag archiviert<br>\n";
open (ARC, ">>$db_archive_name") or &cgierr("error in archive_record. unable to open database: $db_archive_name.\nReason: $!");
if ($db_use_flock) {
flock(ARC, 2) or &cgierr("unable to get exclusive lock on $db_archive_name.\nReason: $!");
}
print ARC "$line\n";
close ARC; # automatically removes file lock
next;
}
print DB $_, "\n";
}
close DB;
Wie Ihr sicher sehen könnt, geht es darum, Eiträge, die älter sind als eine vorgegebene Anzahl von Tagen, zu archivieren.
Pit
P.S.: Danke schonmal bis hierhin