Paul: Eintrag in Datei über anderen & Zeilenumbrüche

Beitrag lesen

Hallo!

Ich bin noch ein ziemlicher Anfänger in Perl und hab ein kleines Script geschrieben, das Formulardaten in eine Datei schreibt. Ich möchte es als News-Script verwenden, wobei der neuste Eintrag oben stehen soll. Nur leider werden die Einträge halt untereinander geschrieben.

1. Frage: Wie mache ich es, dass der neuste Eintrag über die anderen geschrieben wird? (Ich habe schon mehrere Methoden durchprobiert, die aber alle erfolglos waren. Wäre sehr dankbar, wenn mir jemand eine wirklich funktionierende vorschlagen könnte.)
2. Frage: Wie mache ich es, dass die Zeilenumbrüche aus dem Formularfeld übernommen werden? (In der Datei sind sie zwar vorhanden, aber der Inhalt wird einfach hintereinander ausgegeben.)

Und hier das Script:

#!/usr/bin/perl

use CGI qw(:standard);
use POSIX qw(strftime);

$date = strftime("[ %d.%m.%Y - %H:%M ]", localtime);

my ($x1);
$x1 = param('news');

open(NEWS, ">>news.htm");
flock(NEWS, LOCK_EX);
print NEWS "<fieldset><legend>$date</legend>$x1</fieldset>\n";
flock(NEWS, LOCK_UN);
close(NEWS);

Vielen Dank für Hilfe!
Paul