Andres Freund: Matche alles zwischen <!--start--> und <!--ende-->

Beitrag lesen

Moin,

open(datei, "<index.html") || die "Datei nix da\n";
while(<datei>){
$x .= $_;
}
close(datei);

Wenn du schon die ganze Datei auf einmal einlesen willst, kannst du das auch mit "local $/;" vor dem <datei> (welches man übrigens der Konvention, wie alle Dateihandles, groß schreibt.).

$x =~ m/<!--start-->.(.*?).<!--ende-->/gism;

Das geht so nicht so ganz, wie du es jetzt gemacht hast. Ein Regex im Listencontext gibt eine Liste zurück, so dass sowas geht:
my @foo = $bar =~ m/irgendwas(.*)nochetwas/flags;

Grüße Andres Freund