Der Grundgedanke ist nicht schlecht (sofern du min und max vertauscht benutzt), denn man sollte auf das Minimum reduzieren, nicht auf das Maximum.
Allerdings ein sinnvolles Minimum, d.h. wir kennen deine Eingabedaten nicht und daher ist es nicht sinnvoll, über Inhalte von irgendwelchen uns unbekannten Dateien zu sprechen.
Entweder nutze __DATA__, sodass man das Problem per Copy+Paste nachvollziehen kann oder schreib gleich $content = "foobar __TOC__ foobaz", sodass man sofort sieht, welcher String behandelt werden soll.
Noch ein anderer Rat:
Quote
open (DATEI, "text.wiki_purge") or die $!;
while(<DATEI>){
$content = $content.$_;
}
close (DATEI);
Erstens: benutzte lexikalische Dateihandles, also solche mit $ davor.
Zweitens: Wenn du die Datei als einen String haben willst, ist es ineffizient, zeilenweise einzulesen. Entweder nimm z.B. read_file aus File::Slurp oder du setzt einfach $/ auf undef, z.B. so:
my $content = do {
open my $datei, "<", "text.wiki_purge" or die $!;
local $/;
<$datei>
};
Last edited: 2014-09-22 14:57:31 +0200 (CEST)