Thread Regulärer Ausdruck
(11 answers)
Opened by Kruemel at 2011-08-31 09:55
Hallo Kruemel,
das löst man am elegantesten mit dem Flip-Flop-Operator, vgl. http://reneeb-perlblog.blogspot.com/2010/01/der-fl... Das dortige Beispielscript an Deinen Fall angepasst: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 #!/usr/bin/perl use strict; use warnings; my $bool = 0; while( my $line = <DATA> ){ if( $line =~ /^\/begin blubber/ ){ $bool = 1; } print $line unless $bool; if( $line =~ /^\/end blubber/ ){ $bool = 0; } } __DATA__ Text am Anfang /begin blubber skdjflkdsjf sdlkfjdsk lksjflksdj aajjllja /end blubber Text am Ende Du schreibst, dass die Einträge gelöscht werden sollen. Vermutlich wirst Du so vorgehen, dass Du mit zwei Filehandles arbeitest: Das eine liest die Quelldatei ein, das andere schreibt alles, was nicht gelöscht werden soll, in eine Zieldatei. Wenn Du eine vorhandene Datei editieren willst, brauchst Du so etwas wie File::Tasks::Edit (habe ich noch nicht ausprobiert). HTH Grüße payx |