Thread Logfile, maximal 10 Zeilen (3 answers)
Opened by roooot at 2010-12-02 18:31

Linuxer
 2010-12-02 22:04
#143280 #143280
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Hi,

ich weiß nicht, ob es das als Modul schon gibt, aber hier eine rudimentäre Variante "zu Fuß":

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#! /usr/bin/perl
use warnings;
use strict;
use Tie::File;

use constant {
  MAX_LINES => 10,
};

my $logfile = '/tmp/logfile';

# binde datei an array; legt datei an, wenn nicht existent
tie my @file, 'Tie::File', $logfile
  or die "$logfile: $!\n";

# generiere log eintraege
for my $i ( 1 .. 20 ) {
    # entferne ersten eintrag, wenn maximum erreicht
    shift @file if MAX_LINES == @file;

    # fuege eintrag hinten an
    push @file, sprintf "meine nachricht: %02d\n", $i;
}
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Logfile, maximal 10 Zeilen