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