How do I look up info for a fuction like seek. I tried perldoc seek and
perldoc Seek to no avail.

Thanks.

> -----Original Message-----
> From: Bob Showalter [mailto:[EMAIL PROTECTED]] 
> Sent: Thursday, December 05, 2002 2:14 PM
> To: 'Paul Kraus'; Perl
> Subject: RE: Snagging the last page of a report
> 
> 
> > -----Original Message-----
> > From: Paul Kraus [mailto:[EMAIL PROTECTED]]
> > Sent: Thursday, December 05, 2002 2:00 PM
> > To: Perl
> > Subject: Snagging the last page of a report
> > 
> > 
> > Every month I have several reports I print to disk. They are
> > hundreds of
> > pages long. I only need the last page of each. As it is now I 
> > open it in
> > a text editor scroll down and copy the last page to a new 
> > text document.
> > This is irritating and I want to play with the Perl I have been
> > learning.
> > 
> > How can I snag the last page of something.
> > 
> > I could do a search to find end of file (I think you can do 
> that with 
> > reg expr).
> 
> No, regexes are for searching strings. The seek() function 
> can be used to position the pointer at the end of the file.
> 
> > Then if somehow I could have it report the position of the file the 
> > EOF occurs I could then somehow count back to the first part of
> > the page then ummm well you see my confusion. Any help and 
> suggestions
> > are appreciated. All though a solution would definitely solve 
> > my problem
> > it wouldn't be fun at all :)
> 
> The trick is to find whatever delimits the last page. It 
> might be as simple as an ASCII formfeed (12) character.
> 
> In general, you would seek to EOF, then back up a 
> "reasonable" page size (say 2kb) and read a block of data. If 
> you find the start of the last page, you're good. If not, 
> back up another 2k and try again.
> 
> > 
> > However if I could get some hints or be pointed at some
> > relevant info I
> > would greatly appreciate it. Thanks in advance.
> 
> There's a File::ReadBackwards module on CPAN that might be 
> helpful. It handles all the file pointer manipulation for 
> you. You could just read lines backwards into an array until 
> you find the first line of the page. Then print 
> reverse(@myarray) to print the last page.
> 
> If the files were small, you could suck the whole file into a 
> single string and extract the last page using a regex. But 
> for big reports that's a bad idea...
> 


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to