syntax
|
Seitenanfang |
| hi, habe folgendes problem: $i=0; $suchstr="hallo"; while ( $liste[$i] =~ m/$suchstr/ ) { $i++; } da in der pruefung regular expression geprueft wird, wird das $-zeichen als ende der zeile und nicht als variable interpretiert. ich muss irgendiwe noch ein eval auf den $suchstr durchfuehren, aber wie? danke fuer die hilfe. Pixer.
Datum: 30.08.2006-14:29

|
re: syntax
|
Seitenanfang |
| Hallo Das ist Unsinn. In deinem Code prüfst du ob der erste Wert in @liste $suchstr enthält. Wenn dem so wäre würde dann für $liste[1] geprüft, wenn nicht dann hast du die Endlos-Schleife auf $liste[0] die nie matched. Gruss Kristian
Datum: 30.08.2006-15:48

|
re: syntax
|
Seitenanfang |
| natuerlich ist das nur ein ausschnitt aus etwas komplexeren code. es geht hier nicht um sin/unsinn des code-ausschnittes sondern einfach um die syntax in der einen entscheidenden zeile. ideen? Pixar
Datum: 30.08.2006-16:17

|
re: syntax
|
Seitenanfang |
| Hallo Die "entscheidenden zeile" ist also:
while ( $liste[$i] =~ m/$suchstr/ ) Ich habe dir doch eben erklärt, was diese Zeile macht. $suchstr wird sehr wohl interpoliert, sprich die Suche funktioniert. Ich hätte:
while ( $liste[$i] =~ m/\Q$suchstr\E/ ) geschrieben, aber das ist ja nicht der Grund, warum es nicht so funktioniert wie du denkst.Entweder dein Code-Beispiel hat nichts mit deinem Problem zu tuen oder du weigerst dich einfach die Augen aufzumachen. Poste doch mal den Code um den es wirklich geht in sinnvollem Zusammenhang, dann brauchen wir keine "Ideen". Gruss Kristian
Datum: 30.08.2006-22:30

|
re: syntax
|
Seitenanfang |
du hast recht! die suche funktioniert. $satz="Hallo wie gehts"; $s="ht"; if($satz =~ m/s$/) - prueft ob am ende von $satz ein "s" vorkommt if($satz =~ m/$s/) - prueft ob "ht" in $satz vorkommt
ich dachte, dass die zweite methode aufgrund der besonderen bedeutung von $ in regexpr nicht gehen wuerde. mea culpa. danke und gruss, Pixer
Datum: 31.08.2006-11:29

|
re: syntax
|
Seitenanfang |
| Hallo, was macht hier \Q und \E ? Clausi
Datum: 31.08.2006-11:37

|
re: syntax
|
Seitenanfang |
| Hallo > was macht hier \Q und \E Es quoted (maskiert) Sonderzeichen wie z.B. das / Ohne machen dir Begriffe die Sonderzeichen enthalten, die in der Regex eine Bedeutung haben, die Regex kaput Gruss Kristian
Datum: 31.08.2006-12:39

|