eventuell; normalerweise matcht . nicht auf zeilenumbruch. Du kannst dem regulaeren Ausdruck aber sagen, dass . auch auf einen zeilenumbruch matchen soll, indem du als parameter /s dranhaengst... z.B:
$text =~ s/<!\-\-te.+?st\-\->//gs;
Aufpassen beim -, der gibt normalerweise einen bereich von...bis an. den am besten escapen
ein anderer weg, das ergebnis zu erzielen, waere:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
my $text = do {
open (DATEI, "<", $template) or
die "Error: couldn't open '$template': $!\n";
# die folgende zeile bewirkt, dass der komplette string in eine
# zeile eingelesen wird; so sparst du dir das join
local $/ = undef;
my $temp = <DATEI>; # alles in eine "zeile"
close (DATEI);
$temp; # wird aus do-Block herausgegeben => $text
};
# ersetzen
$text =~ s/<!\-\-te.+?st\-\->//gs;
# in datei schreiben
open(FILEOUT, ">", $fileout) or die "Kann '$fileout' nicht schreiben: $!\n";
print FILEOUT $text;
close(FILEOUT);
\n\n
<!--EDIT|Strat|1115721105-->