Sven Rautenberg: Flag e bei Regulären Ausdrücken?

Beitrag lesen

Moin!

In der Zeile

$Wert =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

ist mir das eg zum Schluss leider unklar geblieben.

Ein e-Flag gibt es lt. Selfhtml-Liste und auch bei meiner sonstigen Recherche nicht.

e steht für "evaluate". Das bewirkt, daß der Teil, der ersetzt werden soll, als Funktion angesehen und ausgeführt wird. Es würde an dieser Stelle nämlich herzlich wenig bringen, alle zweistelligen Hexadezimalzahlen um die Zeichenkette "pack("C", hex())" anzureichern. Die pack-Funktion sorgt in diesem Falle dafür, den Hexcode in das zugehörige ASCII-Zeichen zu wandeln.

- Sven Rautenberg