On Aug 31, [EMAIL PROTECTED] said:

>        open(FILE, "> $logfile") or die "Couldn't open $logfile : $!\n";       # This 
> logfile keeps appending in a linux m/c
>        flock(FILE,2);
>        while (sysread FILE, $buffer, 4096) {
>           $lines += ($buffer =~ tr/\n//);
>        }

This makes NO sense.  You've opened the file for *writing*, not reading.
I think what you want to do is:

  use Fcntl;

  open FILE, "+>> $logfile" or die "can't r/w append to $logfile: $!";
  flock FILE, LOCK_EX;
  seek FILE, 0, 0;  # you need to go to the front first
  1 while <FILE>;
  $lines = $.;
  seek FILE, 0, 0;
  truncate FILE, 0;
  print FILE "whatever\n";
  close FILE;

-- 
Jeff "japhy" Pinyan         %  How can we ever be the sold short or
RPI Acacia Brother #734     %  the cheated, we who for every service
http://japhy.perlmonk.org/  %  have long ago been overpaid?
http://www.perlmonks.org/   %    -- Meister Eckhart


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to