Thread Letzte 10 Zeilen einer Textdatei ausgeben (73 answers)
Opened by TrioxX at 2006-12-03 12:20

PerlProfi
 2006-12-03 13:47
#9225 #9225
User since
2006-11-29
340 Artikel
BenutzerIn
[default_avatar]
Falls deine Logdatei nicht soo lang ist, dass du sie von hinten lesen musst, kannst du es auch so machen:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/usr/bin/perl
use strict;
use warnings 'all';

# die Informationen die du dir mit:
# open(IN, "<", $file) or die "Die Datei '$file' konnte nicht zum Lesen geoeffnet werden.";
# chomp(@arr = <IN>);
# close IN;
# geholt hast:
my @arr = qw(1164963438||lobby|entered|trioxx|TrioxX|lobby
1164963450||lobby|leaved|trioxx|TrioxX|lobby
1164963530||lobby|entered|trioxx|TrioxX|lobby
1164963537||lobby|leaved|trioxx|TrioxX|lobby
1164963580||lobby|entered|trioxx|TrioxX|lobby
1164963588||lobby|leaved|trioxx|TrioxX|lobby
1164963742||lobby|entered|trioxx|TrioxX|lobby
1164963758||lobby|leaved|trioxx|TrioxX|lobby
1164963823||lobby|entered|trioxx|TrioxX|lobby
1164963832||lobby|leaved|trioxx|TrioxX|lobby
1164963945||lobby|entered|trioxx|TrioxX|lobby
1164964076||lobby|leaved|trioxx|TrioxX|lobby
1164964079||lobby|entered|trioxx|TrioxX|lobby
1164964088||lobby|leaved|trioxx|TrioxX|lobby
1165086722||lobby|entered|trioxx|TrioxX|lobby
1165086778||lobby|leaved|trioxx|TrioxX|lobby);

# die letzten 10 Zeilen davon verwenden:
my @arr2;
for (0..9)
{
$_ = 10-$_;
push(@arr2, $arr[-$_]);
}

foreach my$line (@arr2)
{
# Informationen auslesen:
my @infos = split /\|\|/, $line;
@infos = ($infos[0], (split /\|/, $infos[1]));

# in @infos steht für die erste Zeile jetzt folgendes:
# 1164963742, lobby, entered, trioxx, TrioxX, lobby
# das kannst du, wenn du möchtest noch einem Hash zuweisen,
# dann wird deutlicher was das fuer infos sind
my %infos = (number => $infos[0],
place => $infos[1],
action => $infos[2],
member => $infos[3],
name => $infos[4],
from => $infos[5]);

# Informationen anzeigen:
print "\nINFOS:\n";
print "$_: ". $infos{$_} ."\n" foreach (keys %infos);
}


MfG PerlProfi\n\n

<!--EDIT|PerlProfi|1165146669-->

View full thread Letzte 10 Zeilen einer Textdatei ausgeben