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 ![]() HTH Grüße payx |