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

renee
 2006-12-06 11:46
#9274 #9274
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Bei topegs Code musst Du noch einen Header senden...

Z.B.
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
#!/usr/bin/perl
use strict;
use warnings;
use CGI;
use CGI::Carp qw/fatalsToBrowser/;

print CGI::header('text/plain');
# Sicherstellen, dass es in dem Verzeichnis, in dem das
# Skript liegt auch ein Verzeichnis "Variables" existiert,
# in dem eine Datei "messages.txt" liegt.!!!!!!!!!
my $file = './Variables/messages.txt';

##################
# Liest rückwärts vom Dateiende
# aus einem Dateihandle
# die angebene Anzahl von Zeilen.
# übergebene Werte:
# 1. Das Filehandle
# 2. Die Anzahl der Zeilen
# Liefert ein Array mit den gelesenen Zeilen zurück.
#
# Der Identifikator für das Zeilenende
# wird aus $/ gelesen.
sub read_back($$)
##################
{
my ($fh,$lines)=@_;
my $line_cnt=0;
my $data='';

seek($fh,0,02);
my $pos=tell($fh);

while($line_cnt < $lines and $pos > 0)
{
$pos--;
seek($fh,$pos,00);
my $bite=getc($fh);
$line_cnt++ if($bite eq $/);
}
return <$fh>;
}

open(my $fh, '<', $file) or die "$!\n";
my @lines = read_back($fh,5);
close($fh);

print 'Zeilen = '.@lines.":\n".join('',@lines)."\n";
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/

View full thread Letzte 10 Zeilen einer Textdatei ausgeben