schmaidt: Zeilenumbruch in Perl-GBook Skript

Beitrag lesen

Hmmm, die Sache ist, dass ich mich so gut nun auch nicht auskenne mit Perl und den Speichern-Teil aus einem anderen übernommen hab. Die Befehle die Ihr mir gepostet habt, kenne ich, aber mein Problem liegt glaube ich da, dass ich nicht genau weiss, wo sie hingehören. I
Ich poste Euch mal den Teil, in dem ich glaube, dass die Sachen hinmüssen.

use strict;   # enforce declarations and quoting
use CGI qw(:standard);  # import shortcuts

sub bail {   # Funktion zur Ausgabe bei Fehlern
    my $error = "@_";
    print h1("Unerwarteter Fehler"), p($error), end_html;
    die $error;
}

my(
    $CHATNAME,  # Name der Datei der Gästebucheinträge
    $MAXSAVE,   # Wieviele Einträge sind möglich
    $TITLE,     # Seitentitel- und Überschrift
    $cur,       # Neuer Eintrag ins Gästebuch
    @entries,   # Alle Einträge
    $entry,     # Ein einzelner Eintrag
    $LOCK_EX,   # hardcoded value for flock
    $counter, # Nummerierung der Einträge
    $help,
);

$LOCK_EX = 2;   # hardcoded value for flock

$TITLE = "schmaidt.de - guestbook";
$CHATNAME = "../CHATFILE";    # Pfad der Datei der Einträge
$MAXSAVE = 900;
$cur = CGI->new(); # current request
if ($cur->param("message")) {      # Es existiert ein Eintrag
    $cur->param("date", scalar localtime); # aktuelle Zeit
    @entries = ($cur);       # Speichern des Eintrags in das Array
}

open the file for read-write (preserving old contents)

open(CHANDLE, "+< $CHATNAME") ||
    bail("cannot open $CHATNAME: $!");

get exclusive lock on the guestbook

($LOCK_EX == exclusive lock)

flock(CHANDLE, $LOCK_EX) || bail("cannot flock $CHATNAME: $!");

grab up to $MAXSAVE old entries, newest first

while (!eof(CHANDLE) && @entries < $MAXSAVE) {
    # pass the filehandle by reference
    $entry = CGI->new(\*CHANDLE);
    push @entries, $entry;
}
seek(CHANDLE, 0, 0) || bail("cannot rewind $CHATNAME: $!");
foreach $entry (@entries) {
    $entry->save(\*CHANDLE); # pass the filehandle by reference
}
truncate(CHANDLE, tell(CHANDLE)) ||
    bail("cannot truncate $CHATNAME: $!");
close(CHANDLE) || bail("cannot close $CHATNAME: $!");

Ich hab jetzt erstmal einen ziemlich großen Teil gepostet, weil ich sicher gehen wollte, dass der richtige Bereich doch noch fehlt. Wäre Euch also echt dankbar, wenn Ihr mir sagen könntet wo es hin soll!

Danke, schmaidt