roman_schröder Geschrieben 2. Juli 2008 Geschrieben 2. Juli 2008 (bearbeitet) Hallo Leute, ich habe ein kleines Problemchen, dessen Lösung ich nicht finden kann... if ($line =~ m/^$input/){...} das ist ok, wenn $input mit Buchstaben oder Digits anfängt. ABER: wenn mein $input ist "+" oder "(ABC" dann kracht es. Denn Perl kann nicht m/^+ bzw. m/^( matchen: es muss lediglich m/^\+ oder m/^\( das kann ich nicht machen, da mein input immer verschieden ist => erste Zeichen kann auch ein Buchstaben sein. Ich habe im Netz gelesen, dass es spezielle Operatoren für Matching gibt, mit deren Hilfe, dieses Problem zu lösen ist. \Q\E aber was ist das und wie kann ich es nutzen? Kann mir bitte jemand bei diesem Problem helfen? Danke Bearbeitet 2. Juli 2008 von roman_schröder
Monty82 Geschrieben 3. Juli 2008 Geschrieben 3. Juli 2008 Ich habe im Netz gelesen, dass es spezielle Operatoren für Matching gibt, mit deren Hilfe, dieses Problem zu lösen ist. \Q\E aber was ist das und wie kann ich es nutzen? Kann mir bitte jemand bei diesem Problem helfen? if ($line =~ m/^\Q$input\E/){...} Das \Q sorgt dafür, das alle nachfolgenden Zeichen, die in Perl bzw. im Regulären Ausdruck eine besondere Rolle spielen könnten, bis zum eventuellen Vorkommen von \E mit \ escaped werden.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden