Christian Kruse: Oweh Stringvergleich udn ich kapiers grad nicht.

Beitrag lesen

Hallo Christoph,

ob du das "m" vorne wirklich brauchst, wäre auch zu überdenken.
Nein. 'm' steht fuer 'Match'

Ja, ich weiß, wofür das "m" steht  -  oder stehen soll.

Warum hast du dann was von 'ersetzen' geschrieben? Der m-Operator
ist der m-Operator, der s-Operator ist der s-Operator. Der s-Operator
ist der Ersetungs-Operator, der m-Operator ist der Match-Operator. 'm'
ist in vielen Faellen implizit, 's' nie. 's' hat nichts mit 'm' zu
tun, gar nichts.

Wann ist es denn sinnvoll und wann braucht man es nicht?

Man braucht es, wenn der Interpreter aus dem Kontext nicht
erschliessen kann, dass es sich um einen RegEx handelt. Das ist z.
B. bei Konstruktionen wie

while(<STDIN>) {
  next if !blahr!;
}

der Fall. Hier muesste es

next if m!blahr!;

heissen.

Schaden kanns aber nix und geradezu "falsch" ist es nun wirklich
nicht.

Falsch war deine Annahme, dass da irgendwas ersetzt wird. Da wird nix
uebersetzt. Da wird ein Syntax-Fehler generiert.

Gruesse,
 CK

--
Sich erinnern bedeutet, aus einer Erfahrung nicht ausreichend gelernt zu haben.