Hallo Frank,
s/<!--begin-->/&eintrag<!--begin-->/ while (OUTFILE);
OUTFILE muss zum Lesen _und_ Schreiben offen sein
Kannst Du vielleicht näher erläutern _wie_ Du das genau zum Laufen
gebracht hast? Bei mir funzt das nicht ;)
(perl meckert: "Bareword found in conditional ...")
Ich vermute, in der Zeile müsste es <OUTFILE> heißen. So macht es
nämlich wenig Sinn, da Perl das AFAIK als String betrachten müsste;
und der Ausdruck wäre dann immer wahr.
Daraufhin habe ich natürlich alles mögliche versucht, weil ich dachte ich hätte was verpasst :) Aber ich habe es nur wie folgt fertig gebracht, in dieselbe Datei den neuen Eintrag verlustfrei zu schreiben:
open FILE, "+<gbook.html" or die $!;
my @file = <FILE>;
seek FILE, 0,0;
truncate FILE, 0;
print FILE map { s/<!--begin-->/&eintrag.'<!--begin-->'/e; $_ } @file;
close FILE or die $!;
Alles (ich bin mir aber nicht sicher, ob ich alles probiert habe ;) andere funktioniert zumindest auf Win95 nicht.
Gruß Alex