Habe dein Code 1:1 hochgeladen. Ging nicht. Sobald ich use "irgendwas"; eingebe gibt es einen 500er.
Ein 500er ist ein Server Error, der nicht mit einem Error von Perl selbst zu tun hat.
Der 500er kann daher rühren, dass ein Perl Error geschah bevor es zu einem Output an Apache kam.
use strict; ist ein Standardpragma. Die Notiz ist praktisch pflicht in jedem normalen Perl Programm.
Die Notiz im Code kann zu Error-Messages führen.
Du verwendest flock mit dem Keywort LOCK-SH
Dazu musst du auch die Keywords importiert haben.
use Fcntl ':flock';
Konsultiere die Errorlog nach Fehlern im Perlcode.
Du findest, wenn du keine spezielle Umleitung geschrieben hast, die Error Messages mitten im Apache Errorlog.
Auch die zusätzliche Angabe "DIE" will er nicht haben.
Du musst einen anderen Fehler drin haben.
Sei nicht geizig mit Klammern.
Faulheit kann sie in eindeutigen Fällen weglassen. Übetreiben sollte man aber nicht.
Eine Frage hab ich noch. Wie kann ich hier:
print ' <p class="report">',"<LESER>",'</p>',"\n";
^^^^^^^^^^
die verflixte Variable einfügen?
Wenn es eine Variable ist:
print ' <p class="report">',$deine_Variable,'</p>',"\n";
Wenn du aber das Filehandle im Listenkontext meinst:
print ' <p class="report">', <LESER> ,'</p>',"\n";
Bezweifle ich, dass das gut geht.
Das habe ich noch nie versucht.
Noch eine Korrektur
Das da von mir selbst:
open(LESER, "</artikel_text/rauchen.txt") or die();
flock LESER, LOCK_SH;
print <LESER>;
close LESER;
ist etwas riskant.
Didaktisch besser ist:
open(LESER, "</artikel_text/rauchen.txt") or die();
flock( LESER, LOCK_SH);
while(<LESER>){
print $_;
}
close LESER;
mfg Beat
Selber klauen ist schöner!