Thread Regulärer Ausdruck (11 answers)
Opened by Kruemel at 2011-08-31 09:55

payx
 2011-08-31 11:31
#151974 #151974
User since
2006-05-04
564 Artikel
BenutzerIn

user image
Nochmals hallo Kruemel,

da Du schreibst:
Guest Kruemel
Wie sieht denn dann die Zeile aus, wenn in $text das File als in einem String eingelesen wurde.

In der Tat lässt sich die Aufgabe auch so lösen, wenn die Quelldatei zuverlässig so klein ist, dass sie problemlos komplett in den Arbeitsspeicher geladen werden kann (slurp):

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
#!/usr/bin/perl

use strict;
use warnings;

my $text = do { local $/; <DATA> };

$text =~ s/\/begin blubber.*\/end blubber\n//s;

print $text;

__DATA__
Text
am
Anfang
/begin blubber skdjflkdsjf
sdlkfjdsk
lksjflksdj
aajjllja
/end blubber
Text
am
Ende


Zwei Tricks dabei: Beim Einlesen wird im do-Block der Zeilentrenner $/ vorübergehend aufgehoben, und bei der Regular Expression wird mit dem Modifier /s der ganze Text als eine Zeile behandelt.

HTH
Grüße
payx

View full thread Regulärer Ausdruck