Thread join (//, @buffer): join mit // hängt von Matching ab (16 answers)
Opened by El Ron at 2007-02-07 10:35

sid burn
 2007-02-08 16:45
#74105 #74105
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Ein leerer Pattern m// ist bei Perl Magisch.
Wenn du soetwas benutzt dann wird automatisch die zuletzt gematchte Regex verwendet.

Code: (dl )
1
2
3
4
5
6
7
my $s1 = 'hallo, welt';
my $s2 = 'hallo';
my $s3 = 'welt';

print "\$s1 matcht auf hallo\n" if $s1 =~ m/hallo/;
print "\$s2 matcht auf hallo\n" if $s2 =~ //;
print "\$s3 matcht auf hallo\n" if $s3 =~ //;


Folgender Code gibt dann folgendes aus:

Code: (dl )
1
2
$s1 matcht auf hallo
$s2 matcht auf hallo


Du kannst rein theoretisch z.B. 3 Regexe gegen den selben String matchen lassen. Und mit // wird dann die zuletzt gematchte Regex verwendet. Ein Praxis Beispiel wo das nützlich wäre fällt mir aber nicht ein.

Zum anderen kannst du das ganz aber auch so wie oben dazu nutzen etwas Code zu sparen. Halt für die ganz Faulen Menschen.

Das ganze steht auch irendwo im Buch "Reguläre Ausdrücke" drin. Weiß aber nicht wo. Muss ich irgendwann nochmal raus suchen, vielleicht stand dort ja ein Praxis Beispiel dazu drin.


EDIT:
Paar Sätze geändert.\n\n

<!--EDIT|sid burn|1170946649-->
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de

View full thread join (//, @buffer): join mit // hängt von Matching ab