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

Исходное сообщение
"regex интерпретируются дважды?"

Отправлено mirya , 03-Ноя-03 13:36 
  Пишу:
$some = '1234';
$data = '$some';
print '$something' =~ /$data/;

печатает 0. Дальнейшая проверка показывает, что $data проинтерпретировалась дважды и вышло /1234/; что бы это означало?


Содержание

Сообщения в этом обсуждении
"regex интерпретируются дважды?"
Отправлено David , 03-Ноя-03 17:32 
>  Пишу:
>$some = '1234';
>$data = '$some';
>print '$something' =~ /$data/;
>
>печатает 0. Дальнейшая проверка показывает, что $data проинтерпретировалась дважды и вышло /1234/;
>что бы это означало?

А разве в перле в одинарных кавычках переменные интерпретируются?


"regex интерпретируются дважды?"
Отправлено mirya , 04-Ноя-03 23:07 
>А разве в перле в одинарных кавычках переменные интерпретируются?

print int('$something' =~ /$data/); # поправка для наглядности

нет! $data eq, содержит строку '$some' в любом случае без итерпретации. Но в регексе подставилось не только содержимое $data ('$some'), но и содержимое содержимого - $some ('1234'). Перл 5.8. Если у кого все работает нормально (НЕ как у меня), пусть напишет.