[SP-pm] Problema com substituição

Roberto Maluhy Junior maluhy em gmail.com
Quinta Agosto 3 15:23:44 PDT 2006


Olá Senhores!

Tenho um problema com os $1, $2, ....

Em vez de, por exemplo, fazer uma substituição como
-----
$_ = "O gado roeu a roupa do rei de roma";
$correto = "gato";
s/^(.*?)(gado)(.*?)$/$1$correto$3/g;
-----

Gostaria de fazer algo como:
-----
$_ = "O gado roeu a roupa do rei de roma";
$correto = "gato";
$match = '^(.*?)(gado)(.*?)$';
$subs = '$1' . $correto . '$2';
s/$match/$subs/g;
-----
O resultado deste ultimo caso eh
"$1gato$2"

Sei que neste exemplo nao preciso dos $1 e $2 etc...mas faz de conta
que sejam necessarios. A ideia eh ler o $match e o $subs de um arquivo
de configuracao, sem precisar modificar o arquivo principal toda vez
que quiser fazer uma substituicao diferente.

Como posso fazer os $1 $2 ... que estao num scalar ($subs neste caso)
serem considerados como variaveis e nao como strings na regexp??

Obrigado desde já!

Roberto

-- 
Roberto Maluhy Jr
IFUSP -- Instituto de Física
Universidade de São Paulo, Brasil


Mais detalhes sobre a lista de discussão SaoPaulo-pm