Thread Regex: Match: Variable für $* setzen (3 answers)
Opened by supersucker at 2007-01-24 10:56

supersucker
 2007-01-24 10:56
#73548 #73548
User since
2005-03-17
118 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich bin sicher ihr kennt das Problem und habt (hoffentlich) eine Lösung dafür, weder google noch Forensuche haben etwas ergeben.

Folgende Situation:

Ich habe in einem grösseren Script ganz oben eine (der Einfachheit halber) regex definiert.
Diese verwende ich nun mehrmals im script.
Bei dieser Regex soll immer der gleiche Teil verwendet werden, also z.B. so:



Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
my $regex = qr/(foo)(bar)(foo)/

# mehr Code

if($bla =~ m/$regex/)
print $2;

# mehr Code

if($blub =~ m/$regex/)
print $2;


Das Dumme ist nun natürlich:

Ändere ich meine Regex ganz oben, muss ich im kompletten Code auch die "$2" entsprechend anpassen, was ja nicht Sinn der Sache sein kann...

Nur wie ich das ganz oben definieren?

Mit anderen Worten, was muss ich tun damit ich sowas

Code: (dl )
1
2
3
4
5
6
7
my $regex = qr/(foo)(bar)(foo)/
my $hit = $2; # geht natürlich nicht

# mehr Code

if($bla =~ m/$regex/)
print $hit;


machen kann?

Danke für jeden Tip!

View full thread Regex: Match: Variable für $* setzen