Hi Kai,
gern geschehen - bestimmt ist es möglich, ich kann dir nur leider nicht sagen wie - ich selbst benutze lieber 2 Schritte.
Bei dir müsste das dann so aussehen:
open(BACKUP, ">>$archiv");
print BACKUP " neue daten \n";
close(BACKUP);
#.:.:.:.:.:.:.
open(BACKUP, $archiv);
@ALLBACKUP = <BACKUP>;
close(BACKUP);
#.:.:.:.:.:.:.
$maxmycount = 1;
foreach $einbackup(@ALLBACKUP)
{
$maxmycount = $maxmycount + 1; # zählen aller zeilen
}
$maxmycount = $maxmycount - 30; # maximale Zeilen
#.:.:.:.:.:.:.
$mycount = 1;
open (DAT , ">$archiv") ;
foreach $einbackup(@ALLBACKUP)
{
if($mycount > $maxmycount){
$mycount = $mycount + 1;
print DAT "$einbackup";
}
}
close (DAT) ;
Wobei mit >> die neuen Daten unten angehängt werden, wodurch sogar noch eine Abfrage nötig wäre (an alle Perl-Profis, ich weiß es ist nicht der schönste, und kürzeste Code - aber er arbeitet!) da sonst immer die neuen Daten gelöscht werden.
Hoffe das geht noch immer :)
Gruß
Girom