URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 3814
[ Назад ]

Исходное сообщение
"regexp в переменной"

Отправлено comp3v , 15-Янв-06 16:10 
Люди, помогите, пожалуйста, разобраться с такой ситуацией.

есть некая строка, в которой нужно произвести замену с помощью шаблона (regexp'а). Но и эта строка, и сам regexp - переменные.
Например:

my $test="begin middle end ";
my $RE1="(.*)middle(.*)";
my $RE2="\$2 middle \$1"; // может, тут надо как-то по-другому объявить?

if ($test=~$RE1)
{
// тут надо как-то обработать $test используя $RE2....
}

проверка ($test=~$RE1) идёт нормально, а вот как быть с подстановкой?

Заранее спасибо!


Содержание

Сообщения в этом обсуждении
"regexp в переменной"
Отправлено madskull , 16-Янв-06 12:43 
Если я правильно понял, то можно так
eval "\$test =~ s/$RE1/$RE2/"

"regexp в переменной"
Отправлено comp3v , 16-Янв-06 13:22 
>Если я правильно понял, то можно так
>eval "\$test =~ s/$RE1/$RE2/"

Ура! Огромное спасибо! то, что нужно!