你好 coolblue,
$i-=160; # 15768-=160 == 15607
Jetzt lese ich nochmal die Datei:
for($s=0 ; <DATEI> ; $s++) {
next if $s <= $i; # übersetzt: nächste zeile wenn $s kleiner-gleich 15607 ist
$data[$n]=$_; # wenn aber $s größer ist als 15607, lese ein
$n++; # index+1
}Auf diese Weise lese ich die Zeilen 15607 bis 15768 ein, also die
letzten 160 Zeilen der Datei. Hätte ich nicht vorher die Datei
einmal durchgezählt, wüßte ich nicht, wann die lettzen 160 Zeilen
beginnen.
Ja, und ich habe dir doch schon erklaert, wie du das besser machen
koenntest. Hier mal Beispiel-Code, damit du es besser verstehst:
open DAT,'<test.txt';
my $i = 0;
my $line = '';
my @lines = ();
my $wanted_num = 4;
for($i=0;$line=<DAT>;++$i) {
$lines[$i%4] = $line;
}
close DAT;
print foreach(@lines);
Damit lese ich aus jeder Datei die letzten 4 Zeilen heraus.
再见,
CK
Es ist uns nicht möglich, in einem Bereich unseres Lebens richtig zu verhalten, wenn wir in allen anderen falsch handeln. Das Leben ist ein unteilbares Ganzes.
http://wwwtech.de/