Пишу:
$some = '1234';
$data = '$some';
print '$something' =~ /$data/;печатает 0. Дальнейшая проверка показывает, что $data проинтерпретировалась дважды и вышло /1234/; что бы это означало?
> Пишу:
>$some = '1234';
>$data = '$some';
>print '$something' =~ /$data/;
>
>печатает 0. Дальнейшая проверка показывает, что $data проинтерпретировалась дважды и вышло /1234/;
>что бы это означало?А разве в перле в одинарных кавычках переменные интерпретируются?
>А разве в перле в одинарных кавычках переменные интерпретируются?print int('$something' =~ /$data/); # поправка для наглядности
нет! $data eq, содержит строку '$some' в любом случае без итерпретации. Но в регексе подставилось не только содержимое $data ('$some'), но и содержимое содержимого - $some ('1234'). Перл 5.8. Если у кого все работает нормально (НЕ как у меня), пусть напишет.