Stephan: Variablen in Regex

Hallo,

ich möchte mit einem Regex nach der Zeichenkette "+bel" oder "-bel" suchen.

if($line=~m/+bel/g) gibt true, aber wenn die Zeichenketten in einer
Variablen stehen, nicht:

$pattern="+bel";
if($line=~m/$pattern/g) gibt false.

Was ist falsch? Wie geht´s richtig?

Grüße,

Dennis

  1. $pattern="+bel";
    if($line=~m/$pattern/g) gibt false.

    if($line =~ /$pattern/)

    den g Schalter brauchst du nicht wenn es nur einmal vorkommen soll.

    Struppi.

    --
    Javascript ist toll (Perl auch!)
    1. $pattern="+bel";
      if($line=~m/$pattern/g) gibt false.

      if($line =~ /$pattern/)

      evtl. musst den Inhalt noch Quoten:

      if($line =~ /\Q$pattern\E/)

      Struppi.

      --
      Javascript ist toll (Perl auch!)
      1. $pattern="+bel";
        if($line=~m/$pattern/g) gibt false.

        if($line =~ /$pattern/)

        evtl. musst den Inhalt noch Quoten:

        if($line =~ /\Q$pattern\E/)

        ... oder weiter oben $pattern="+bel" schreiben.

        mfG,
        steckl