Ansgar: Probleme mit RegEx suchen/ersetzen mit Variablen

Hallo,
Ich hab da ein kleines Problemchen.
Ich möchte in einem String suchen und ersetzen, wobei der Such- bzw. der Ersetzstring in Variablen gespeichert ist.
Hier hab ich mal ein Beispiel:

$String = 'Kuckst Du hier';
$Suchen = '(Kuckst)( Du )(hier)';
$Ersetzen = '$3$2$1';
if($String =~ s/$Suchen/$Ersetzen/)
{
 print "$String";
}

Die Ausgabe lautet "$3$2$1" anstatt "hier Du Kuckst".
Ich stehe irgendwie auf dem Schlauch. Wenn jemand 'ne Lösung hat wär da echt klasse.

Gruß Ansgar

  1. Hallo,

    richtig quoten!

    Erwin

    =
    $String = 'Kuckst Du hier';
    $String =~ /^(Kuckst)\s+(Du)\s+(hier)$/;
    $Ergebnis = "$3 $2 $1";
    print "$Ergebnis\n";

    hier Du Kuckst

    ^ Anker vorn
    $ Anker hinten
    \s Space

    • mehrere Spaces

    =gleich ersetzen
    $String = 'Kuckst Du hier';
    $String =~ s/^(Kuckst)\s+(Du)\s+(hier)$/$3 $2 $1/;
    print "$String\n";
    =cut

    Was guckst du?

    --
    SELFforum - Das Tor zur Welt!
    Theoretiker: Wie kommt das Kupfer in die Leitung?
    Praktiker: Wie kommt der Strom in die Leitung?