Perl/Regex Variablen

Michael Schnupp michas at minet.uni-jena.de
Don Nov 7 22:19:34 CET 2002


On Thu, 7 Nov 2002, Niels Dettenbach wrote:

> habe hier eine Zeile Perl, wo's nicht weiter will:
>
> $giecker        =~ s/\n(A|B|C|F|G)\n/\n\n$hash('$1')\n/g;
>
> Den Match $1 möchte ich nutzen, um ihn durch einen zugehörigen Hashwert (davor
> noch ein '\n') von $1 ersetzen zu lassen.
>
> $giecker        =~ s/\n(A|B|C|F|G)\n/\n\n&long('$1')\n/g;
>
> habe ich ebenfalls probiert. Offensichtlich wird der Variablenausdruck bzw.
> der subcall nicht durchgeführt. Ich bekomme als Ergebnis jeweils z.B.  ('A')
> , ('B') etc. heraus.
>
> Gibt es eine Möglichkeit, innerhalb des regulären Ausdruckes $1 für
> Perl-Anweisungen zugänglich zu machen? Vielleicht habe ich ja auch nur
> Tomaten auf den Augen ß)


"man perlop" sagt dazu:

               Options are:

                   e   Evaluate the right side as an expression.
                   g   Replace globally, i.e., all occurrences.
                   i   Do case-insensitive pattern matching.
                   m   Treat string as multiple lines.
                   o   Compile pattern only once.
                   s   Treat string as single line.
                   x   Use extended regular expressions.

ich glaub du solltest also ein e kaufen. :)

hth
	michas

-- 
Close the windows please, my penguin starts freezing....



-- 
tlug Mailingliste
Archiv: http://www.tlug.de/archiv/
http://schwarz.thueday.de/mailman/listinfo/tlug_allgemein