|
|
| "be consistent" | |
| PerlMonks |
Re: Simulating UNIX's "tail" in core Perlby lzcd (Pilgrim) |
| on Mar 08, 2001 at 02:54 UTC ( [id://62912]=note: print w/replies, xml ) | Need Help?? |
This is an archived low-energy page for bots and other anonmyous visitors. Please sign up if you are a human and want to interact.
My personal pick (irrespective of language) for an 'inside' solution would be to create a FILO (First In Last Out) style of collection to the same size as the number of lines you wish to 'tail'. You then can go through the entire file, reading in a line to the collection and removing the oldest line from the collection. To paraphrase one example: Create an Array equal in size to number of 'tail elements' required Set WritePointer to the First Element Start Loop Read Line into Array at WritePointer Increment WritePointer If WritePointer>Number of Array Elements then Set WritePointer to First Array Element End Loop if end of File At the end of this you'll have an array containing the required lines. All you've got to do is read the array elements back in the 'reverse direction' until you get back to the WritePointer element. If all of this seems like a load of old horse dribbblings to you, I'd suggest looking up the term FILO in your nearest Computer Science book. :)
In Section
Seekers of Perl Wisdom
|
|
||||||||||||||||||||||||