User since
2006-07-10
2611
Artikel
BenutzerIn
Versuch mal den absoluten pfad:
/pfad/zum/webverzeichnis/z.B./htdocs/cgi-bin/pfad/zur/datei/datei.txt
Upsa.... Falsch kopiert ^^
Meinte:
Serverfehler!
Die Anfrage kann nicht beantwortet werden, da im Server ein interner Fehler aufgetreten ist.
Fehlermeldung:
malformed header from script. Bad header=1165327617||lobby|leaved|rockp: topeg.pl
User since
2003-08-04
14371
Artikel
ModeratorIn
Bei topegs Code musst Du noch einen Header senden...
Z.B.
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";
User since
2006-07-10
2611
Artikel
BenutzerIn
Ja ich habe das Obligatorische
print "Content-type: text/plain\n\n"
über der eigendlichen Ausgebe vergessen. Der Server wußte nicht als was er den Inhalt ausliefern sollte. ergänze das bitte und dann sollte wenigstens etwas raus kommen.
Ha... renee hats!!!
Keine Ahnung wieso... Aber es geht :)
Dann wäre meine Frage... Kann ich nun die ReadBackwards.pm auch einfach so irgendwohin kopieren, ohne das Modul neu installieren zu müssen (bsp. Serverwechsel...) ?
User since
2003-08-04
14371
Artikel
ModeratorIn
@topeg: Da ja
CGI schon geladen wird, sollte man auch die
header-Funktion des Moduls verwenden :D
User since
2003-08-04
14371
Artikel
ModeratorIn
@Christian: Ja, so wie ich es beschrieben habe...
Ich bin halt... Nôôb :) Topeg hats nun auch :)
Super!!!!!!!!
Ok... *lach* weiter gehts ^^
@renee hast du dich evtl. schon mit dem templatesystem befasst?! Weil ja nun das problem besteht, dass ich es irgendwie als Variable in ein HTML-Template einbauen müsste :-|
User since
2003-08-04
14371
Artikel
ModeratorIn
Wenn Du in Zukunft Serverfehler (500er) bekommst, dann solltest Du mal in diesem
Artikel nachlesen. Da stehen ein paar Lösungsansätze drin.
Nein, ich habe mich nicht mit dem Template-System beschäftigt, weil ich ja auch meiner normalen Arbeit nachgehen muss...
User since
2006-07-10
2611
Artikel
BenutzerIn
@renee
Ja schon klar, aber alte Gewohnheiten gibt man nicht so schnell auf. :-)
@Christian
Schreib dir doch eines. Als richtiger Perlprogrammierer muss man das gemacht haben, neben einem Baum pflanzen und ein cpan-Modul zu veröffendlichen. :-)
Aber ernsthaft. "HTML::Template" solltest du genauso einbinden können, wie "File::ReadBackwards"