$PrevEOL was not declared elsewhere before...

As the code 's beginning is to move the cursor(pointer position in the file
handle)
 to the end of file (EOF), but our aim is to read the last line, so have to
move the
cursor back to the end of the previous end of line ( $PrevEOL comes here).

AAAAA
BBBBB
CCCCC <- Seek goes to the end of file here

AAAAA
BBBBB <- Move back to Previous Line's End ( last \n )
CCCCC

AAAAA
BBBBB
CCCCC <- Read this Whole Ln again.





----- Original Message -----
From: "Karen Liew Ying Ping" <[EMAIL PROTECTED]>
To: "Connie Chan" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
Sent: Tuesday, June 25, 2002 12:34 PM
Subject: Re: Reading File


Hi Connie,

what's your $PrevEOL?
did you declare it somewhere?

sorry i'm still a very beginning beginner in PERL

thanks.

  ----- Original Message -----
  From: Connie Chan
  To: Timothy Johnson ; 'Karen Liew Ying Ping ' ; [EMAIL PROTECTED] ; David
vd Geer Inhuur tbv IPlib
  Sent: Tuesday, June 25, 2002 12:51 AM
  Subject: Re: Reading File


  Hi everybody,

  I've done a dummy test, and finalized that David's method is the
  Goal Method, that's really Really Very Great !!!

  I've made a 50MB Text file ( Fixed length, 1001 char per line, with \n)
  for this test, and have the following results :

  #### SCRIPT 1 ##### Suggested by Johnson
  $start = time;
  open (FH, "text.txt");
  while (<FH>) { $data = $_ }
  close (FH);
  $end = time - $start;
  print $end."\n";
  ###### END WITH 8 SECs #######

  ##### SCRIPT 2 #### Suggested by myself
  $start = time;
  open (FH, "text.txt");
  @FD = <FH>;
  close (FH);
  $data = $FD[$#FD];
  $end = time - $start;
  print $end."\n";
  ###### END WITH 8 SECs #######

  ##### SCRIPT 3 #####  Suggested by David ( I've completing it =))
  $start = time;
  open (FH, "text.txt");
  seek (FH,0,2); ## I use 0 here as I assume the last line is not /^\n$/
  $curpos = tell(FH);
  while (! $PrevEOL)
  {   $data = <FH>;
       if ($data !~ /\n$/) { $curpos -- ; seek (FH, $curpos, 0);  }
       else { $PrevEOL = 1 }
  }
  $data = <FH>; close (FH);
  $end = time - $start;
  print $end."\n";
  ###### END WITH 0 SEC ( Actually 0.0x Sec) #######

  Please don't alarm me for omitted to use my , strict and -wT here,
  I will use them for doing my own script =)

  Besides, even though the time consume for Johnson's one and mine
  one are the same (nearly), however, it's better for try Johnson's one.
  That's beacuse if there are 5 or more clients query this File at the same
  time, mine one will surely halt the system (WinMe).

  Wish you have a nice day,
  Smiley Connie =)



  ----- Original Message -----
  From: "David vd Geer Inhuur tbv IPlib" <[EMAIL PROTECTED]>
  To: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
  Sent: Monday, June 24, 2002 7:35 PM
  Subject: Re: Reading File


  >
  > I am try-ing to work something out with seek for you, but just can't
find
  it yet.
  > This is how far I am yet :
  >
  > #!/usr/bin/perl
  >
  > use strict;
  >
  > my $file = "...";
  >
  > open(FH, "<$file");
  > seek(FH,2,2);
  > my $curpos = tell(FH); $_ = <FH>;
  > my $lastline = <FH>;
  > close(FH);
  >
  > print "$lastline \n";
  > print "$curpos \n";
  > # --------------
  >
  > As the seek brings me to the end of the file at the last character I
cant
  print
  > the current line.
  > I will be looking further, there must be a beatifull way to do this.
  >
  > Regs David
  > ----------------
  > >
  > > open (FILE, "yourfile.txt");
  > > my @FD = <FILE>;
  > > close (FILE);
  > >
  > > my $lastline = $FD[$#FD]
  > >
  > > Hope this help,
  > > Smiley Connie =)
  > >
  > >
  > > ----- Original Message -----
  > > From: "Karen Liew Ying Ping" <[EMAIL PROTECTED]>
  > > To: <[EMAIL PROTECTED]>
  > > Sent: Monday, June 24, 2002 6:05 PM
  > > Subject: Reading File
  > >
  > >
  > > Hi,
  > >
  > > Let's say I'm opening a file.
  > > How do I read the last line of the file?
  > > is there any function in doing so?
  > >
  > > Thanks.
  > >
  > >
  > >
  > >
  > > --
  > > To unsubscribe, e-mail: [EMAIL PROTECTED]
  > > For additional commands, e-mail: [EMAIL PROTECTED]
  > >
  > >
  >


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




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

Reply via email to