Hi, On Tue, 1 Jul 2003, Werner Schalk wrote:
my @zeilen = <DATEI>;
Das splittet ja schon wieder in Zeilen. Du willst: my $alles = <DATEI>; Beachte das dies ein scalar, keine Array ist. Das dies tatsache die ganze Datei in einen String liest musst du den line-separator undefen: undef $/; Es empfiehlt sich, diesen vorher irgendwo zwischenzuspeichern, um ihn zueruecksetzen zu koennen.
foreach (@zeilen) {
Und dann auch kein foreach natuerlich, du willst ja gerade nicht ueber Zeilen iterieren, sondern alles in einem Rutsch veraendern.
# gs und gsx macht keinen Unterschied! $content =~ s/<!--.*?-->//gs;
Und dann wuerde dies naemlich fast gehen, da "." auch "\n" matcht. '/x' brauchst du Tatsache nicht, da ".*?" allein nicht schon extended syntax ist. Also alles zusammen: open(F, "test.html"); my $old_ils = $/; undef $/; my $all = <F>; $/ = $old_ils; close F; $all =~ s/<!--.*?-->//gs; print $all; Ciao, Micha.