fraktalisman has asked for the wisdom of the Perl Monks concerning the following question:
The piece of code below is supposed to read 20 lines of an existing text file and set a mark ($marke) so the next time this piece of code gets executed, it would then skip the first $marke lines.
When $marke is still zero, everything goes as planned. Oddly, in the second run when $marke is 21, the file is not read line-by-line like it was in the first run, but the whole file goes into the $zeile string. Why?
The documentation and tutorials don't cover this problem. Is there something like line context (not exactly) that I could force my filehandle into?
Update: corrected "line contest" to "line context". Problem is solved now, see below.open(TODO,"<datei.txt") or &fehler; while ($zeile=<TODO>) { print "$counter $zeile\n"; # debugging: what is actually read? chomp $zeile; next if ($counter<$marke); if ($counter>($marke+20)) { $stilltodo=1; last; } push (@liste,$zeile); $counter++; } close(TODO);
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: filehandle not returning lines
by Hena (Friar) on Feb 18, 2005 at 10:57 UTC | |
by fraktalisman (Hermit) on Feb 18, 2005 at 11:03 UTC | |
|
Re: filehandle not returning lines
by borisz (Canon) on Feb 18, 2005 at 10:48 UTC | |
by fraktalisman (Hermit) on Feb 18, 2005 at 10:53 UTC |