in reply to Limiting log file size

# NOTE: this code is untested chopf('/path/to/log.dat', 1000000); sub chopf{ my ($file, $size) = @_; local *HEAD; local *TAIL; return 1 unless -s $file > $size; return 0 unless open HEAD, "+<$file"; unless (open TAIL, "+<$file"){ close HEAD; return 0; } seek TAIL, -s($file) - $size, 0; <TAIL>; print HEAD $_ while (<TAIL>); truncate HEAD, tell(HEAD); close HEAD; close TAIL; return 1; }

--perlplexer

Replies are listed 'Best First'.
Re: Re: Limiting log file size
by perlplexer (Hermit) on Apr 02, 2002 at 20:05 UTC
    OK,
    seek TAIL, -s($file) - $size, 0; needs to be seek TAIL, (-s $file) - $size, 0;

    --perlplexer